Goo*_*bot 0 javascript javascript-events settimeout
我使用本教程创建了一个基本的javascript函数,用于在给定的时间段内实现更改.
function fadetext(){
if(hex>0) {
hex-=11;
document.getElementById("sample").style.color="rgb("+hex+","+hex+","+hex+")";
setTimeout("fadetext()",20);
}
else
hex=255
}
Run Code Online (Sandbox Code Playgroud)
问题1:如何通过输入变量function; 例如fadetext(element, time).我无法通过简单地用变量替换值来实现.
问题2:通过javascript逐步实现更改是标准(和正确)方法吗?对我来说,困惑在于我们fadetext()在自己的函数中使用函数.这不是超载吗?
您需要将函数而不是字符串传递给setTimeout:
function fadeText(element, duration) {
...
setTimeout(function() {
fadeText(element, duration);
}, 20);
}
Run Code Online (Sandbox Code Playgroud)
此代码传递一个匿名函数,该函数捕获闭包中的原始参数.