jquery实现动态menu效果

昨天写的一个用jquery实现的动态加载的menu效果,记录下来,以便参考

<ul class="menu-ul"></ul>
var menuList = [
        {
            label: 'Food',
            action: 'javascript:void(0);',
            items: [
                {
                    label: 'Recipe Repertoire',
                    action: 'Recipe'
                },
                {
                    label: 'Food',
                    action: 'Food'
                }
            ]
        },
        {
            label: 'Fitness',
            action: 'javascript:void(0);',
            items: [
                {
                    label: 'AAA',
                    action: 'javascript:void(0);',
                },
                {
                    label: 'BBB',
                    action: 'javascript:void(0);',
                }
            ]
        },
        {
            label: 'Lifestyle',
            action: 'javascript:void(0);',
            items: [
                {
                    label: 'AAA',
                    action: 'javascript:void(0);',
                },
                {
                    label: 'BBB',
                    action: 'javascript:void(0);',
                }
            ]
        }
    ];
     $(function () {
        var selectItem = 'Recipe';
        for (var i = 0; i < menuList.length; i++) {
            var menu = menuList[i];
            var li = $('<li class="menu-li"><a href="' + menu.action + '">' + menu.label + '</a></li>');
            $('.menu-ul').append(li);
            if (menu.label == selectItem) {
                li.addClass('menu-li-selected');
            }
            if (menu.items.length > 0) {
                var ul = $('<ul class="menu-second-ul"></ul>');
                li.append(ul);
                for (var j = 0; j < menu.items.length; j++) {
                    var child = menu.items[j];
                    ul.append('<li><a href="' + child.action + '">' + child.label + '</a></li>');
                }
            }
            li.on('mouseenter', function () {
                $(this).find("ul").animate({ "opacity": "0.75", "height": "auto !important", "min-height": "100px" }, "slow", function () {})
            }).on('mouseleave', function () {
                $(this).find("ul").animate({ "opacity": "0", "height": "0" });
            });
            if (i < (menuList.length - 1)) {
                $('.menu-ul').append('<li class="menu-li-splitbar"></li>');
            }
        }
    });


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值