2013-08-22 46 views
0

我正在構建一個混合移動應用程序,使用帶觸摸支持的Jquery事件偵聽器來創建交互,但是我遇到了使用.animate的事件偵聽器調用函數的問題。第一個animate工作正常,但第二次更慢,第三次更慢。看看日誌,似乎事件監聽器在每次調用函數時都會將調用函數乘以2。Jquery .animate在使用jquery事件偵聽器時變慢使用

我將問題縮小到事件監聽器,因爲在chrome開發工具中手動調用該函數時,該功能完美無缺。我曾嘗試使用jquery .on.one事件偵聽器。下面是我的代碼,這將是巨大的得到這方面的一些建議...

的HTML

<div id="closeIcon"></div> 

和JS ...

$('#closeIcon').one("tap", closeLogin); 

function closeLogin(){ 
$('#userContainer').animate({'padding-top': '120px'}, 500); 
$('#contentContainer').animate({'height': '682px'}, 500, function(){ 
    unselectUser(); 
    $('#loginContainer').empty(); 
    $('#loginContainer').css('visibility', "hidden"); 
}); 
} 

回答

0

試試這個:

$('#closeIcon').one("tap", closeLogin); 

function closeLogin(e){ 
    e.stopImmediatePropagation(); 

    $('#userContainer').animate({'padding-top': '120px'}, 500); 
    $('#contentContainer').animate({'height': '682px'}, 500, function(){ 
     unselectUser(); 
     $('#loginContainer').empty(); 
     $('#loginContainer').css('visibility', "hidden"); 
    }); 
} 
+0

問題解決了,謝謝喬納森:) – oligibson

相關問題