jquery自动根据屏幕尺寸展开收缩显示导航菜单特效

所属分类: 网页特效-导航菜单    2023-11-09 12:11:37

jquery自动根据屏幕尺寸展开收缩显示导航菜单特效 ie兼容6
 查看演示  登录后下载 温馨提示
登录会员即可享受免费下载
 我要建站

jquery自动根据屏幕尺寸展开收缩显示导航菜单特效(共2个文件)

    • greedy-menu.js
    • index.html

使用方法

(function($) {
    
    $.fn.greedyMenu = function() {
        
        return this.each(function() {

            var $this = $(this),
                limit,
                position,
                area,
                list,
                active;

            setup($this);

            function setup(obj) {
                obj.wrap("<div class='greedy-container'></div>").css("visibility", "hidden");
                if (!obj.find("li.greedy-dropdown").length) {
                    obj.append('<li style="display:none" class="greedy-dropdown"></li>')
                        .find("li.greedy-dropdown")
                        .append('<div class="dropdown"></div>')
                        .find("div.dropdown")
                        .append('<a href="javascript:void(0)" data-toggle="dropdown">More <span class="caret"></span></a>')
                        .append('<ul class="dropdown-menu dropdown-menu-center greedy-menu"></ul>');
                }
                obj.find("li").each(function(index) {
                    $(this).attr("data-index", index);
                });
                limit = obj.find("li").length;
                index = limit - 1;
                active = obj.find("li.active").index();
                create(obj);
            }

            function reset(obj) {
                position = limit;
                $.when(obj.find(".greedy-menu li").appendTo(obj)).done(function() {
                    $.when(sort(obj)).done(function() {
                        create(obj);
                    });
                });
            }

            function sort(obj) {
                obj.each(function() {
                    $(this).html(
                        $(this).children("li").sort(function(a, b) {
                            return $(b).data("index") < $(a).data("index") ? 1 : -1;
                        })
                    );
                });
            }

            function create(obj) {
                area = obj.outerWidth(true);
                list = obj.offset().left + obj.find("li.greedy-dropdown").outerWidth(true) + obj.find("li.active").outerWidth(true);
                obj.find('li:not(".active, .greedy-dropdown")').each(function(index) {
                    list += $(this).outerWidth(true);
                    if (list >= area) {
                        if (index > active) {
                            position = index + 1;
                        }
                        else {
                            position = index;
                        }
                        move(obj, position, index);
                        obj.find(".greedy-dropdown").show();
                        return false;
                    } 
                    else {
                        obj.find(".greedy-dropdown").hide();
                    }
                });
                obj.css("visibility", "visible");
            }

            function move(obj, position, index) {
                for (x = position; x <= limit; x++) {
                    obj.find('li:not(".active, .greedy-dropdown")[data-index="' + x + '"]').appendTo(obj.find(".greedy-menu"));
                }
            }

            $(window).resize(function() {
                reset($this);
            });
        });
    };

})(jQuery);

$(function() {
    $("ul").greedyMenu();
});

站长提示:
1. 苦力吧素材官方QQ群:950875342
2. 平台上所有素材资源,需注册登录会员方能正常下载。
3. 会员用户积极反馈网站、素材资源BUG或错误问题,每次奖励2K币
4. PHP源码类素材,如需协助安装调试,或你有二次开发需求,可联系苦力吧客服。
5. 付费素材资源,需充值后方能下载,如有任何疑问可直接联系苦力吧客服
相关资源 / 导航菜单

纯CSS写的商城网站商品分类导航菜单代码

一款绿色风格的茶叶商城二级分类导航菜单,全部是css设计实现,很漂亮!
  导航菜单
 9273  0

html5响应式带图标的垂直导航菜单特效

一款红色风格自适应导航下拉菜单,鼠标悬停导航菜单上,触发显示二级带图标的导航菜单。
  导航菜单
 396  0

纯CSS带悬停动画的水平导航菜单特效

一款带CSS3动画的导航菜单效果,鼠标悬停在导航菜单上,即可触发方形边框动画特效。
  导航菜单
 470  0

纯CSS实现的悬停下拉导航菜单特效代码

一款绿色风格水平导航菜单代码,鼠标悬停菜单上触发显示二级导航,非常实用好看。
  导航菜单
 897  0

评论数(0) 回复有机会获得K币 用户协议

^_^ 还没有人评论,快来抢个沙发!
😀
  • 😀
  • 😊
  • 😂
  • 😍
  • 😑
  • 😷
  • 😵
  • 😛
  • 😣
  • 😱
  • 😋
  • 😎
  • 😵
  • 😕
  • 😶
  • 😚
  • 😜
  • 😭
发表评论