2012-12-19 41 views
0

有人可以幫我修復這段代碼嗎? 我想要的是阻止直播('click')功能,直到sliddingright功能完成。阻止實時點擊事件,直到該功能沒有結束?

('li.menu-item').live('click', function(event){ 
    if(!$(this).is(':animated')) 
    { 
    sliddingright(page_id_target_right,previous_right_old,previous_right,next_right,pages_numbers); 
    } 
}); 
+0

可以'sliddingright'接受回調? – Jeff

+0

我真的不明白你的意思回撥,但我想這是可能的 – Romain

+0

jsfiddle.net/K2xZB/85/ – Romain

回答

2

只需添加一個return語句返回「待機」你slidingright功能,一旦功能已經完成了它的任務,將其保存並在下一次檢查它的價值「點擊」是調用。

像這樣:

var state = 'standby'; 
('li.menu-item').live('click', function(event){ 
    if(!$(this).is(':animated') && state == 'standby') 
    { 
     state = 'processing'; 
     state = sliddingright(page_id_target_right,previous_right_old,previous_right,next_right,pages_numbers); 
    } 
}); 
+0

感謝您的回答,我嘗試了您的解決方案,但這不適用於我的情況... $(document).ready(function(){ var state ='standby'; $('li.menu如果(!$(this).is(':animated')&& state =='standby')live('click',function(event){ ) state ='processing'; 狀態= sliddingright(page_id_target_right,previous_right_old,previous_right,next_right,pages_numbers);} }); 在sliddingright函數的末尾,我返回 「待機」 狀態 – Romain

+0

的問題是,在我的sliddingright功能,我即使發送狀態「待機」也是如此動畫未完成 – Romain

+0

我解決了這個問題,我補充說:\t \t \t \t state ='standby';返回狀態;在我的滑動右鍵功能的最後一個動畫動作 – Romain

0

嘗試:

clickMe = function() { 
$('li.menu-item').live('click', function(event) { 
    $('li.menu-item').off('click'); 
    sliddingright(page_id_target_right, previous_right_old, previous_right, next_right, pages_numbers); 
}); 
    $('li.menu-item').on("click", clickMe); 
};​ 
相關問題