我已經閱讀了很多主題和jQuery文檔,但仍然無法解決此問題。jQuery - 無法停止動畫和淡出/功能
我所擁有的是具有不透明度0和一些背景顏色的div。在某些按鈕的用戶「單擊」事件上,我稱之爲「StartAnimationFuncton」函數,該函數使不透明度爲1的div添加加載圖像。
然後,當從服務器接收到信息時,我會調用「StopAnimationFuncton」函數,它應該刪除加載div,然後再次使不透明度爲0的背景div。
注:我設置延遲(1000),在刪除它之前加載,因爲如果請求過快,加載顯示一毫秒並且看起來很醜。
//StartAnimationFuncton
$("#BackGroundDiv").stop('fx',true,false).animate({opacity:1.0},1000,function(){
$('#ShopperPortalLoadingDivContentTable').remove();
$('<div id="Loading" style="width:100%;height:100%"></div>').hide().appendTo('#BackGroundDiv').stop('fx',true,false).fadeIn(500,function(){
...
//Waiting data from the server - when the date is call the StopAnimationFunction
...
});
});
//StopAnimationFuncton
$('#Loading').stop(true,false).delay(1000).fadeOut(500,function(){
$(this).remove();
$("#BackGroundDiv").stop(true,false).animate({opacity:0.0},1000,function(){
ShopperPortal.Content.Functions.Render.InitializeRenderModeContainerAndLoadingEffects.Parameters.IsStopLoadingEffectActive=false;
});
});
我的問題是,當用戶點擊按鈕上的許多時間,當前的動畫不會停止。我嘗試了所有變體 - 對每個元素組合使用stop(),stop('fx',true,false),stop(true,true),stop(true,false),但沒有任何幫助。
哪種停止當前動畫和完整功能的正確方法?也。如果我的邏輯不正確,我會接受新的想法?
編輯1:我使用jQuery 1.8.2版本
EDID 2:我已閱讀,延遲(1000)可能會導致問題,因爲它不能被刪除/取消。
Jquery .delay().fadeOut cancel/clear queue.. Is it possible? How?
http://forum.jquery.com/topic/stop-does-not-clear-delay
這就是爲什麼我與動畫取代它({不透明度:1.0},1000),但什麼都沒有改變。
對不起,我不能 - 通過我想展示我的邏輯的例子,我希望我犯了一些語法錯誤或者以不正確的方式使用了函數,所以有人可以糾正我。 – gotqn