0

我有一个我在JSFiddle工作的示例,因此您可以了解我在做什么。我正在尝试找到一种方法来使打开的下拉菜单在打开另一个下拉菜单时自动关闭。我找到的所有解决方案要么阻止任何东西打开或同时打开和关闭所有东西。请记住,在最后一页上,它们将包含大约 30 个下拉菜单。

这是原样的jquery代码。

    $(document).ready(function () {
        $(".answer").hide();

        $(".question").click(function () {
            $(this).next(".answer").slideToggle(500);
        });
    });

html是这样设置的。

<p class="question">The question.</p>
<div class="answer">The answer.</div>
<p class="question">The question2.</p>
<div class="answer">The answer2.</div>
<p class="question">The question3.</p>
<div class="answer">The answer3.</div>
<p class="question">The question4.</p>
<div class="answer">The answer4.</div>

我对 jquery 很陌生,我在这里尽我所能。我整天都在工作,只是在不得已的情况下才来寻求帮助。如果需要更多信息,我会尽力提供。任何帮助是极大的赞赏!

4

1 回答 1

2

仅当单击的答案不可见时才关闭所有打开的答案:http: //jsfiddle.net/zFuUp/2/

$(document).ready(function() {
    $(".answer").hide();
    //toggle the componenet with class msg_body
    $(".question").click(function() {
        // Check if we are closing us
        if( ! $(this).next('.answer').is(':visible') )
            $('.answer').slideUp(500)

        // Open us
        $(this).next(".answer").slideToggle(500);
    });
});
于 2013-09-01T01:17:31.467 回答