我试图在 Javascript 中创建一个 jquery fadeto 类型的效果,但我的 setTimeout 命令有问题。
代码如下:
function textfade(y) {
var x = document.getElementById("test");
var y;
if (y == undefined) {
y = 1.0;
}
x.style.opacity = y;
y -=0.1;
setTimeout(function(){ textfade(y); }, 50);
}
问题是x.style.opacity = y
。
没有它,超时运行正常。然而,有了它,它会运行一次函数然后就死了。虽然我觉得这是一个简单的错误,但我没有解决它的想法。
如有任何建议,我们将不胜感激。
提前谢谢你。
最佳答案
每次执行 textfade()
时,您都在重新声明 y
,有效地破坏/重置传递的参数。
删除:
var y;
关于javascript - 设置超时问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13700719/