2013-10-30 51 views
0

我们有以下脚本:Jquery fadeToggle - 隐藏并返回?

$('#toggledot1').on('click', function(e) { 
e.preventDefault(); 
$('.dotclick:visible').fadeOut(); 
$('#parkdaycare').fadeToggle(); 
}); 
$('#toggledot2').on('click', function(e) { 
e.preventDefault(); 
$('.dotclick:visible').fadeOut(); 
$('#displaysales').fadeToggle(); 
}); 

这是什么一样,被点击的div切换的其他分区显示/隐藏,同时也隐藏其他的div。问题是,如果再次点击同一个div,它会淡出然后直接淡入。

解决方法?

+1

为你的问题附上小提琴。 – Rex

+1

添加HTML和js请稍候。在此之前,这是无法回答的。 – iambriansreed

回答

1

问题是$('.dotclick:visible').fadeOut();淡出当你再次点击将触发fadeToggle再次显示回

的解决方案是从$('.dotclick:visible')选择忽略当前目标元件的电流项

$('#toggledot1').on('click', function (e) { 
    e.preventDefault(); 
    $('.dotclick:visible').not('#parkdaycare').stop(true, true).fadeOut(); 
    $('#parkdaycare').stop(true, true).fadeToggle(); 
}); 
$('#toggledot2').on('click', function (e) { 
    e.preventDefault(); 
    $('.dotclick:visible').not('#displaysales').stop(true, true).fadeOut(); 
    $('#displaysales').stop(true, true).fadeToggle(); 
}); 
+0

没有HTML我认为你通过消除过程解决了这个问题。做得好。 – iambriansreed

+0

完美 - 谢谢你,对于我的问题缺乏解释感到抱歉 – Palemo