jQuery Dropdown插件 - 那里有任何支持的插件吗?

时间:2011-11-29 01:18:37

标签: jquery jquery-ui plugins jquery-plugins

我正在寻找jQuery的下拉插件,因为我的应用有多个下拉菜单。所需的功能与StackOverflow配置文件插入符非常相似。

我发现了这个:http://davidwalsh.name/twitter-dropdown-jquery

但鉴于这不是一个插件,感觉非常混乱。有人知道一个插件可以让我在我的网站上下载干扰吗?

由于

2 个答案:

答案 0 :(得分:1)

我清理了一些代码并使其成为plugin-ish。不是很优雅(代码开头并不漂亮),但它应该有效:

jQuery.fn.twitterMenu = function() {
    return this.each(function() {
        var dropdown = $(this);
        var menu = dropdown.next('div.dropdown-menu');
        var parent = dropdown.parent();

        var activeClass = 'dropdown-active';
        var showingDropdown = false;
        var showingDropdown, showingMenu, showingParent;

        dropdown.click(function(e) {
            e.stopPropagation();
            e.preventDefault();

            if (showingDropdown) {
                dropdown.removeClass(activeClass);
                showingMenu.hide();

                showingDropdown = false;
            } else {
                showingDropdown = true;
                showingMenu = menu;
                showingParent = parent;

                menu.show();
                dropdown.addClass(activeClass);
            }
        });

        $('body').click(function(e) {
            if (showingParent) {
                var parentElement = showingParent[0];

                if (!$.contains(parentElement, e.target) || !parentElement == e.target) {
                    hideMenu();
                }
            }
        });
    });
};

你这样使用它:

$(document).ready(function() {
    $('.dropdown').twitterMenu();
});

演示:http://jsfiddle.net/DraY4/9/

答案 1 :(得分:0)