2013-10-30 87 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