限制 jQuery slideToggle 处理多个元素
Restricting jQuery slideToggle from working on more than one element
我有一组重复的图片,每张图片下面都有一个说明。单击图像时,我正在使用 slideToggle 显示和隐藏每个图像的标题。
$('.imageholder').click(function() {
$(this).next().slideToggle("fast");
});
显示我的方法的有效 fiddle 是 here。
这可以正常工作,但我想防止同时显示多个字幕。当用户单击图像时,任何打开的字幕都应关闭。在我的示例中,您将看到可以打开所有字幕。这就是我要防止的。
希望在正确的方向上轻推。谢谢
您应该尝试隐藏其他可见元素:
$('.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");
});
我有一组重复的图片,每张图片下面都有一个说明。单击图像时,我正在使用 slideToggle 显示和隐藏每个图像的标题。
$('.imageholder').click(function() {
$(this).next().slideToggle("fast");
});
显示我的方法的有效 fiddle 是 here。
这可以正常工作,但我想防止同时显示多个字幕。当用户单击图像时,任何打开的字幕都应关闭。在我的示例中,您将看到可以打开所有字幕。这就是我要防止的。
希望在正确的方向上轻推。谢谢
您应该尝试隐藏其他可见元素:
$('.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");
});