最新赞助活动温馨提示:自愿赞助服务器费用,学生和没有工作的整站资源免费下载!
头像

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

来源:http://www.erdangjiade.com/ 沐浴春风 2016-08-02 06:55浏览(1728)

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

0、请不要问“在不在”之类的问题,有问题直接问!1、学生或暂时没有工作的童鞋,整站资源免费下载!2、¥9.9充值终身VIP会员,加我微信,826096331 拉你进VIP群学习!3、程序员加油,技术改变世界。在线 充值

jQuery下拉菜单过长支持滚动的二级分类导航菜单
分类:导航菜单 > 下拉导航 难易:中级
查看演示

加我微信,拉你进VIP群学习:

下载资源 下载积分: 30 积分
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' />");
    });
});
声明:本文为原创文章,如需转载,请注明来源erdangjiade.com并保留原文链接:https://www.erdangjiade.com/js/915.html
评论0
头像

友情提示:垃圾评论一律封号 加我微信:826096331拉你进VIP群学习群

1 2