MoviePlayer.prototype.moveDiv = function() {
var curDiv = $('u' + this.groupName + '_' + this.current_id);
if(curDiv.style.posLeft != 0) {
curDiv.style.posLeft = curDiv.style.posLeft * 0.8;
var self = this;
window.setTimeout(function(){ self.moveDiv(); }, 30);
} else {
}
}
上述调用的时候,要注意两个地方:
- 注意this引用的存储,如果在setTimeout里写this,那么系统会认为this指向setTimeout方法所属的window对象;
- setTimeout里的参数的正确写法:window.setTimeout(function(){ self.moveDiv(); }, 30);而不是window.setTimeout(self.moveDiv, 30);
非常感谢js 中 setTimeout()的用法, 该文分析得比较详细。
本文深入探讨了JavaScript中setTimeout()函数的使用方法,特别关注如何正确处理this引用及函数调用方式,确保定时任务按预期执行。
607

被折叠的 条评论
为什么被折叠?



