我的代碼停止轉動:spin.js在長時間運行的IE瀏覽器線程和FF
$(document).ready(function() {
$("#divContent").hide();
$("#divProcessing").spin();
$("#divProcessing").show();
setTimeout(function() {
Longrunningfunction1
Longrunningfunction2
Longrunningfunctionn
//All done
$("#divProcessing").hide();
$("#divContent").show();
$("#divContent").style = "margin-top:60px;height:100%;display:''";
$("#tabbed-nav").data('zozoTabs').refresh();
}, 0);
});
使用的setTimeout如上,我設法得到處理的div舉止得體即顯示然後隱藏和顯示內容的div當一切都完成了。 問題是,在IE和FF中,微調器在一段時間後停止旋轉。在Chrome中,它完美地工作,並且微調持續不斷。
我曾嘗試:
- 迫使加工DIV
- 的重繪使用不同的JS紡紗 - 使用CSS3動畫而非旋
- (比spin.js行爲更糟糕,他們從來沒有出現)。 js(從不動畫)
- 附加settimeouts
- setintervals嘗試獲取ui重繪。
到目前爲止還沒有工作。在將我的漫長過程轉移到新的視角之後,我還能做些什麼嗎?我知道這些問題與js單線程有關,但由於chrome可以,我認爲可能有解決方案。 謝謝。
您能否提供JSFiddle,以便人們更容易幫助您? – tiblu
這不會是直接的,因爲包含Longrunningfunction1..n的javascript非常冗長,除非我錯過了某些東西... –