我有一個腳本,我正在開發創建一個滑動按鈕類型效果。五個div位於彼此旁邊,每個鏈接都有一個鏈接。當其中一個DIVS被點擊時,關聯的內容會被擴展,其餘的Div將被關閉。防止Javascript被執行兩次
問題是,如果用戶在加載時點擊Div兩次,或者快速連續單擊另一個Div,則會出現裂縫。
我想知道是否可以只允許查詢執行一次,並等到完成而不是排隊。
這裏是我當前的代碼,如果是垃圾隨意對我如何能更好地對此發表評論......我不是最好的,在使用Javascript/jQuery的:P提前
function mnuClick(x){
//Reset all elements
if($('#'+x).width()!=369){
$('.menu .menu_Graphic').fadeOut(300);
$('.menu_left .menu_Graphic').fadeOut(300);
$('.menu_right .menu_Graphic').fadeOut(300);
$('.menu').animate({width: "76px"},500);
$('.menu_left').animate({width: "76px"},500);
$('.menu_right').animate({width: "76px"},500);
}
var ElementId = '#' + x;
$(ElementId).animate({
width: 369 + "px"
},500, function(){
$(ElementId + ' .menu_Graphic').fadeIn(300);
});
}
謝謝, 克里斯。
+1正如我剛纔所說的,只需擁有一個跟蹤事件是否運行的變量,並在開始處理之前對其進行初始化(以便禁用所有其他事件)。 – Jakub 2010-11-15 15:35:20
非常感謝。偉大的解決方案,但很簡單 – Chris 2010-11-16 10:17:14