0

我有一个可点击、可折叠的 div 脚本:

$(document).ready(function() {
    $(".toggle-content").hide();
    $(".byline").click(function() {
        $(".toggle-content").hide();
        $(this).next(".toggle-content").slideToggle(500);   
    });
});

一开始是这样的:

$(document).ready(function() {
    $(".toggle-content").hide();
    $(".byline").click(function() {
        $(this).next(".toggle-content").slideToggle(500);   
    });
});

第二个示例运行良好,但它使用户可以打开所有divs,这使得页面太高。我添加了该hide()功能,但现在它导致了另一个问题。

我想添加功能,当div再次单击每个功能时,它实际上会关闭它(隐藏它)。然后,div此时所有 s 都将关闭(隐藏)。目前,一个div始终处于打开状态(可见)。如果可能的话,我想要这两个功能......

我在其他地方使用手风琴(我知道这可以在这里使用),但我有点需要快速完成,所以我不想在这里实现更简单的脚本。如果我可以使用现有脚本找到修复程序,我会很兴奋。

编辑

我编辑了小提琴以显示改进的修复:

http://jsfiddle.net/nicorellius/gsDVS/

4

1 回答 1

2

这应该有效。它将忽略隐藏与单击元素相关的内容,并将相应地滑动切换该 div

$(document).ready(function() {
    $(".toggle-content").hide();
    $(".byline").click(function() {
        var $next= $(this).next(".toggle-content");
        $(".toggle-content").not($next).hide();
        $next.slideToggle(500);   
    });
});
于 2013-01-24T00:27:56.587 回答