【发布时间】:2013-01-25 07:35:14
【问题描述】:
专家。
Javascript 未产生所需的延迟效果。
从其他问题中,我了解到,问题在于 settimeout 和我使用它的方式。
但我仍然无法理解 Settimeout 是如何工作的。
所以我把代码放在这里。
由于知识目的,只需要使用 Javascript。
实际上,我正在尝试在 javascript 中清除关于 this,closure 的概念。
它们是 Javascript 的一种扭曲的东西吗?
var objImg = new Object();
var h;
var w;
var no = 100;
while (no != 500) {
setTimeout(function () {
size(no, no);
}, 2000);
/* it's get executed once, instead of repeating with while loop
Does it leave loop in mid? I get image with 500px height and
width, but effect is not acheived.
*/
no = no + 50;
}
function size(h, w) {
var objImg = document.getElementsByName('ford').item(0);
objImg.style.height = h + 'px';
objImg.style.width = w + 'px';
}
【问题讨论】:
-
你的while循环运行正常。我已经在chrome控制台上测试过了。
-
@ramin omrani - 是吗?但图像没有调整大小,延迟效果为 2 秒。我知道我搞砸了 SetTimeout,但还不完全了解它的内部工作原理。
标签: javascript settimeout