jquery - 多个下拉切换

标签 jquery html css google-chrome internet-explorer-8

我有以下部分工作的脚本。

HTML:

<div class="navigation3">
    click me
</div>
<div class="dropdown">
    <div class="items">icon Default 3</div>
</div>

jQuery:

$('.navigation3').click(function(event) {
    $(this).toggleClass('active');
    $(".dropdown").toggle();
});​

.active 部分工作是点击的 .navigtion3 变成红色,如果我点击所有三个,所有三个都变成红色。

不起作用的部分是 .dropdown。它应该直接放在 .navigtion3 div 下。另外目前,它一次只显示 1 个 .dropdown,如果所有 .navigation3 都是 .active,它应该显示所有.

此外,根据用户选择,我不知道有多少 .navigation3.dropdown 将显示在用户屏幕上。

我似乎无法让它工作,希望得到 jQuery 专家的帮助。

jsFiddle:

这是我目前拥有的: http://jsfiddle.net/MTESY/12/

最佳答案

像这样的东西怎么样http://jsfiddle.net/chrismoutray/MTESY/16/

$('.navigation3').click(function(event) {
    var $nav3 = $(this),
        $dd = $nav3.next('.dropdown');

    $nav3.toggleClass('active');

    var offset = 30,
        offsettop = $nav3.offset().top + $nav3.height() + offset,
        offsetleft = $nav3.offset().left;

    $dd.css({
        top: offsettop,
        left: offsetleft
    });

    $nav3.hasClass('active') ? $dd.show() : $dd.hide();
});

这里要关注的 2 位是;找到正确的下拉元素

$nav3.next('.dropdown');

并确保正确放置元素

$dd.css({
    top: offsettop,
    left: offsetleft
});

它并不完美,但它会让你入门

关于jquery - 多个下拉切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13583000/

相关文章:

javascript - 单个 div 中的多个光滑 slider

javascript - 使用 angular.js 动态标记搜索字符串

html - 远程样式表路径

CSS:右边距和绝对定位

c# - 在 C# 中的 WebBrowser 控件中获取打印媒体 CSS 样式应用的网页

jquery - jQuery 中的 For 循环。如何?

Firefox 3.6.6 和 4.0 beta 1 中的 jQuery 自定义事件和过多递归错误

jquery - 使用 jQuery 动画化 Bootstrap 3 进度条

html - 将 SVG 元素与页面左侧对齐

html - 使用 CSS 防止文本在锚定按钮上滚动