Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 限制jQuery slideToggle处理多个元素_Javascript_Jquery_Css_Slidetoggle - Fatal编程技术网

Javascript 限制jQuery slideToggle处理多个元素

Javascript 限制jQuery slideToggle处理多个元素,javascript,jquery,css,slidetoggle,Javascript,Jquery,Css,Slidetoggle,我有一组重复的图像,每个图像下面都有一个标题。我使用slideToggle在单击图像时显示和隐藏每个图像的标题 $('.imageholder').click(function() { $(this).next().slideToggle("fast"); }); 一把显示我的方法的小提琴正在演奏 这是应该的,但我想防止多个标题同时可见。当用户单击图像时,任何打开的标题都应关闭。在我的示例中,您将看到可以打开所有标题。这就是我想要阻止的 希望你能朝着正确的方向轻推一下。谢谢。您应该尝试

我有一组重复的图像,每个图像下面都有一个标题。我使用slideToggle在单击图像时显示和隐藏每个图像的标题

 $('.imageholder').click(function() {
 $(this).next().slideToggle("fast");

 });
一把显示我的方法的小提琴正在演奏

这是应该的,但我想防止多个标题同时可见。当用户单击图像时,任何打开的标题都应关闭。在我的示例中,您将看到可以打开所有标题。这就是我想要阻止的


希望你能朝着正确的方向轻推一下。谢谢。

您应该尝试隐藏其他可见元素:

$('.imageholder').click(function() {
  $('.description:visible').not($(this).next()).slideToggle("fast");
  $(this).next().slideToggle("fast");
});
slideUp()
所有不是当前描述的描述,然后
slideToggle()
当前描述

$('.imageholder').click(function() {
  var $desc = $(this).next();
  $('.description').not($desc).slideUp('fast');
  $(this).next().slideToggle("fast");
});

就这样做

$('.imageholder').click(function() {
     $('.description').slideUp();
     $(this).next().slideToggle("fast");
});