javascript - 项目列表,内容在单击时展开,如果项目已展开则折叠

标签 javascript jquery

基本上,我有一个项目列表,其内容会在单击时展开。一次只能展开一个项目的内容 - 即,如果我单击一个项目,它的内容将展开,而另一项目的内容将折叠。

我正在寻找的是,如果单击一个项目并且其内容已经展开,我希望它折叠起来。正如我现在的代码所示,如​​果内容已经展开并且单击了该项目,则内容只会重新展开。

非常感谢您的帮助!

JS

$('.image-container').click(function() {
     $('.text-container').hide(200);
     $(this).next('.text-container').show(400);
});   

HTML

<div id="class1" class="image-container">
    <a href="#">An Image</a>
</div>
<div id="class1-container" class="text-container">
    <p>Some Content</p>
</div>

 <div id="class2" class="image-container">
    <a href="#">An Image</a>
 </div>
 <div id="class2-container" class="text-container">
     <p>Some Content</p>
 </div>

最佳答案

参见http://jsfiddle.net/esgk2hve/

$('.image-container').click(function() {
     $('.text-container').not($(this).next()).hide(200);
     $(this).next('.text-container').toggle(400);
});

关于javascript - 项目列表,内容在单击时展开,如果项目已展开则折叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30314918/

相关文章:

javascript - 加载包含数字 1 - 20 的 asp 下拉列表

javascript - 对 flatList 中的项目进行排序

javascript - 示例 JS 函数中的 "this"是什么?

javascript - 当我单击删除按钮时查询未运行,即使 .success 说它有效

php - 上传最小图片宽度和高度

javascript - 获取对象在数组中的位置

javascript - 如何将相同的 jQuery 代码应用于同一类的两个实例?

javascript - 为什么 IE 试图下载文件,如何解决?

javascript - 更改 <img src ="XXX"/>,新图像完成加载时的 js 事件?

javascript - 带有按钮的 Angular 下拉菜单未获取数据