如何在每个items
块上应用此切换淡入淡出淡出?当我点击任何人时,它会应用所有这些。
有人可以帮忙吗?感谢
<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');
});
答案 0 :(得分:1)
如何使这个切换fadein fadeout适用于每个itemsblock? 当我点击任何人时,它会应用所有这些。
这是因为您使用$(".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');
});
答案 1 :(得分:1)
这里:jsfiddle
jquery的:
$('.invisible').hide();
$(".warp").click(function () {
$(this).next('div').slideToggle("slow", function () {
$(this).prev('div').toggleClass('bg');
$(this).prev('div').find('.click').slideToggle("fast", function () {});
});
});