-2
我有這個調用動畫函數的slideUp函數。我們的目標是通過每20ms調用一次動畫函數,在屏幕上向上滑動div,然後在調整div位置的css後在瀏覽器中重新渲染div。 我正在使用Node js,並且由於異步行爲,我認爲超時只會引起一次參與,並且程序會在等待超時完成時繼續運行。 當我將「底部」的值打印到控制檯時,它按預期循環了20次。只有最後的看法 得到渲染。任何人都可以提供任何方式來解決這個問題,以便它可以重現20次中的每一次?setTimeout在NodeJS中不起作用
slideUp: function() {
var bottom=0;
this.animate(bottom);
},
animate: function(bottom){
bottom++;
if (bottom<20){
this.view.getClientNotificationElement().setAttribute("style","margin-bottom:"+bottom+"px");
this.clientNotification.attachTo(this.view.getClientNotificationElement());
setTimeout(this.animate(bottom), 20);
console.log(bottom);
}
}
哼...你使用Node js客戶端嗎? –
這是一些值得關注的瀏覽器。 Node.js在服務器端運行。 – AdityaParab
你都錯了。如果使用[node-webkit](https://github.com/rogerwang/node-webkit)或類似的框架,則可以在瀏覽器環境中輕鬆地運行node.js。 – MMM