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. 付费素材资源,需充值后方能下载,如有任何疑问可直接联系苦力吧客服
相关资源 / 导航菜单

jquery简单实用上下滑动及左右切换效果

仿QQ浏览器官网导航设计,很酷炫很美观,鼠标点击箭头展开二级导航。
  导航菜单
 5330  0

html5手机端动态弹出选择下拉菜单代码

适用于手机端的弹出层选择特效,可自定义增加搜索菜单功能,非常实用!
  导航菜单
 3261  0

一款黑色风格纯css动感导航栏代码

纯css样式实现图标翻转的导航动画效果,可以学习借鉴一下实现代码。
  导航菜单
 4302  0

jquery自定义鼠标右键列表菜单插件

一款可指定DIV内鼠标右键设置自定义菜单特效代码,单击选中菜单带回调函数。
  导航菜单
 5222  0

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

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