gpt4 book ai didi

javascript - jQuery如何使slideToggle对每个项目应用一个

转载 作者:行者123 更新时间:2023-12-02 18:44:37 25 4
gpt4 key购买 nike

如何使此切换淡入淡出应用于每个items block ?当我点击任何人时,它会应用所有的人。有人可以帮忙吗?谢谢

<强> Online Sample

     <div class="items">
<div class="warp">
<span class="change">Tester</span>
<span class="click">expand</span>
</div>
<div class="invisible">
<div class="red"> red </div>
<div class="black"> black </div>
</div>
</div>
<div class="items">
<div class="warp">
<span class="change">Tester</span>
<span class="click">expand</span>
</div>
<div class="invisible">
<div class="red"> red </div>
<div class="black"> black </div>
</div>
</div>

jQuery

 $('.invisible').hide();
$('.warp').addClass('bg');

$(".warp").click(function () {
$(".invisible").slideToggle("slow", function () {
if ($(this).is(':visible')) {
$('.warp').removeClass('bg');
}else{

$('span.click').css('visibility', 'visible');
$('.warp').addClass('bg');
}
});

$('span.click').css('visibility', 'hidden');
});

最佳答案

How can I make this toggle fadein fadeout applies on each itemsblock? when I click anyone, it applies all of them.

这是因为您使用 $(".invisible") 来选择具有 invisible 类的所有元素。您必须找到与切换元素相关的元素(您的 .warp 元素),在您的情况下将如下所示:$warp.next(".invisible").

查看更新后的FIDDLE .

更新了您的 jQuery 代码:

$(".warp").click(function () {
var $warp = $(this);

$warp.next(".invisible").slideToggle("slow", function () {
if ($(this).is(':visible')) {
$warp.removeClass('bg');
}else{
$warp.find('span.click').css('visibility', 'visible');
$warp.addClass('bg');
}
});

$warp.find('span.click').css('visibility', 'hidden');
});

关于javascript - jQuery如何使slideToggle对每个项目应用一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16532223/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com