jQuery下拉菜单过长支持滚动的二级分类导航菜单

jQuery下拉菜单过长支持滚动的二级分类导航菜单

jquery.dropdown.js是解决导航菜单下拉项若是过多的插件,我们可以采用下拉菜单滚动的方法,当鼠标的位置达到菜单一定高度,菜单会自动下拉滚动。

查看演示

演示不了,点击反馈

加入收藏

保存 470

保存资源

36 共享分

特别说明:本站资源来自网友发布分享,仅供学习与参考,请勿用于商业用途,若有侵权请联系删除(272966172@qq.com)。

var maxHeight = 400;

$(function() {

    $(".dropdown > li").hover(function() {

        var $container = $(this),
                $list = $container.find("ul"),
                $anchor = $container.find("a"),
                height = $list.height() * 1.1, // make sure there is enough room at the bottom
                multiplier = height / maxHeight;     // needs to move faster if list is taller

        // need to save height here so it can revert on mouseout            
        $container.data("origHeight", $container.height());

        // so it can retain it's rollover color all the while the dropdown is open
        $anchor.addClass("hover");

        // make sure dropdown appears directly below parent list item    
        $list.show().css({paddingTop: $container.data("origHeight")});

        // don't do any animation if list shorter than max
        if (multiplier > 1) {
            $container.css({
                height: maxHeight,
                overflow: "hidden"
            }).mousemove(function(e) {
                var offset = $container.offset();
                var relativeY = ((e.pageY - offset.top) * multiplier) - ($container.data("origHeight") * multiplier);
                if (relativeY > $container.data("origHeight")) {
                    $list.css("top", -relativeY + $container.data("origHeight"));
                }
                ;
            });
        }
    }, function() {
        var $el = $(this);
        // put things back to normal
        $el
                .height($(this).data("origHeight"))
                .find("ul")
                .css({top: 0})
                .hide()
                .end()
                .find("a")
                .removeClass("hover");
    });
    // Add down arrow only to menu items with submenus
    $(".dropdown > li:has('ul')").each(function() {
        $(this).find("a:first").append("<img src='images/down-arrow.png' />");
    });
});

声明:如需转载,请注明来源:https://www.sucaiq.com/texiao/915.html
  • jQuery手机大众点评下拉菜单选择特效

    jQuery手机大众点评下拉菜单选择特效

  • 简单好看的菜单导航划过特效

    简单好看的菜单导航划过特效

  • jQuery页面滚动显示浮动菜单栏锚点定位效果

    jQuery页面滚动显示浮动菜单栏锚点定位效果

  • 纯css3鼠标经过动画菜单效果

    纯css3鼠标经过动画菜单效果

  • 滚动的齿轮动画

    滚动的齿轮动画

  • swiper滚动天气效果

    swiper滚动天气效果

  • css3滚动的圆球动画特效

    css3滚动的圆球动画特效

  • jquery.superfish.js导航菜单插件制作无限极菜单

    jquery.superfish.js导航菜单插件制作无限极菜单

  • html5页面倾斜打开侧边菜单动画特效

    html5页面倾斜打开侧边菜单动画特效

  • DIV+CSS制作有趣的页面滚动让猫奔跑的动画

    DIV+CSS制作有趣的页面滚动让猫奔跑的动画

  • marquee.js插件演示9种jQuery滚动效果

    marquee.js插件演示9种jQuery滚动效果

  • Quicksand超漂亮的菜单排序效果

    Quicksand超漂亮的菜单排序效果

  • 留言0
    头像
     阿里云限量代金券,戳我领取
    1 2