jquery - 这个 jQuery 下拉脚本可以简化吗?

标签 jquery compression simplify

我有两个我创建的脚本。第一个用于桌面多级下拉导航,第二个用于响应式导航。有没有办法简化/压缩这个脚本,我没有看到?

这是我的简化版本。

$(document).ready(function () {
$('ul.primary li').click(function () {
    var a = this;
    if ($('ul', this).is(':visible')) {
        $('ul', this).slideUp(function () {
            $(a).removeClass('active')
        })
    } else {
        $('ul.drop').slideUp();
        $('ul.primary li').removeClass('active');
        $('ul', this).slideDown();
        $(a).addClass('active')
    }
});
$('body').click(function (a) {
    if (!$(a.target).is('a')) {
        $('ul.drop').slideUp();
        $('ul.primary li').removeClass('active')
    }
});
$(function () {
    $('.mobile-nav').click(function (e) {
        $('.primary').slideToggle(150, "swing");
        e.stopPropagation()
    });
    $(window).resize(function() {
        $('ul.drop').slideUp();
        $('ul.primary li').removeClass('active')
    });
})
});

这是标记:

<div class="nav">
    <div class="mobile-nav">Navigation</div>
        <ul class="primary">
            <li><a href="#link">Link</a></li>
            <li><a class="has-drop">Link w/ Children <span></span></a>
            <ul class="drop">
                <li><a href="#link">Link</a></li>
                <li><a href="#link">Link</a></li>
                <li><a href="#link">Link</a></li>
                <li><a href="#link">Link</a></li>
                <li><a href="#link">Link</a></li>
            </ul>
            </li>
            <li><a class="has-drop" href="#link">Link w/ Children <span></span></a>
            <ul class="drop">
                <li><a href="#link">Link</a></li>
                <li><a href="#link">Link</a></li>
                <li><a href="#link">Link</a></li>
                <li><a href="#link">Link</a></li>
                <li><a href="#link">Link</a></li>
            </ul>
            </li>
            <li><a href="#link">Link</a></li>
            <li><a href="#link">Link</a></li>
        </ul>
        <div class="clear"></div>
    </div>
</div>

我现在遇到的问题是 window.Resize 函数不会一直触发。我正在寻求在调整窗口大小时关闭所有打开的 ul.drop。

此外,当将浏览器大小调整回桌面宽度时,我的 ul.drops 似乎被切断,并且在刷新之前不会滑过包含元素。

最佳答案

http://dean.edwards.name/packer/是一个自己压缩的好地方。
如何使用非常不言自明:)

关于jquery - 这个 jQuery 下拉脚本可以简化吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13586298/

相关文章:

jquery fadeIn 双击时未达到完全不透明度?

javascript - 将对象与 json 中的对象进行比较,如果相同则返回

javascript - 为什么我的按钮将事件传播到其父级?

javascript - 更改父类

c - 为什么 jpeg_decompress_create 会在没有错误消息的情况下崩溃?

perl - Archive::Zip 和 IO::Uncompress::Unzip 之间有什么区别

hadoop - 启用 dfs.image.compress 时会压缩什么?

javascript - 将数组从多个值简化为更少的值

javascript - 传单折线 SmoothFactor 范围

python - 自动简化/重构 Python 代码(例如 for 循环 -> 列表理解)?