这是我尝试编写一个动态 onmouseout 事件,当鼠标离开 div 时缓慢改变不透明度。
由于某种原因,递归和超时似乎没有工作属性,并且不透明度的更改是立即完成的。
问题: 有没有什么原因setTimeout()
不适用于递归?有没有更好的方法来解决这个问题?
function hide(id)
{
if (gOpacity > .4)
{
gOpacity -= .1;
document.getElementById(id).style.opacity = gOpacity;
setTimeout(hide(id),1000)
}
else
{
gOpacity = 1.0
}
}
将 setTimeout 调用更改为
setTimeout(function() { hide(id); } ,1000)
所以它会在1s后执行,而不是立即执行
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)