我使用下面的代碼切換頁面上的一些東西。問題是,如果用戶點擊太快,那麼會有多個面板打開並保留在頁面上。我猜這是因爲我使用的是click()
而不是toggle()
,但爲了完全控制我選擇點擊功能的動畫。有沒有辦法解決這個問題?謝謝。jQuery切換錯誤
編輯:我發現的另一個錯誤是,頁面加載後,第一個面板淡出,然後再次返回,因爲在代碼末尾有.filter(':first').click();
,但這用於在第一個面板上獲得活動狀態。任何替代品?
jQuery(document).ready(function()
{
var tabContainers = $('div.feature > div');
tabContainers.hide().filter(':first').show();
$('div.feature ul.feature-nav li a').click(function()
{
var ref = this;
tabContainers.filter(':visible').fadeOut(500, function()
{
tabContainers.filter(ref.hash).fadeIn(500);
});
$('div.feature ul.feature-nav li a').removeClass('selected');
$(this).addClass('selected');
return false;
}).filter(':first').click();
});
我不希望默認元素在加載時淡入。它應該正常顯示,並隱藏所有其他元素。 – Cameron 2010-06-25 09:29:36
您需要在文檔就緒功能中不運行隱藏功能,然後隱藏所有的功能,然後顯示一個 - 因此,淡出問題 – matpol 2010-06-25 13:28:40