我试着用setTimeout()函数做一个JS淡入淡出效果,它似乎在某种程度上工作,但我似乎无法弄清楚什么是错的代码如下:一个JS淡入淡出效果不起作用(for循环)
<html>
<head>
<title></title>
<script type="text/javascript">
function FadeEffect(n)
{
var i=1;
fade = document.getElementById("box");
if (n===1)
{
fade.style.opacity=i/10;
i++;
setTimeout("FadeEffect(1)",50);
if (fade.style.opacity=1)
{
var i=1;
}
}
else if (n===0)
{
fade.style.opacity=1-i/10;
i++;
setTimeout("FadeEffect(0)",50);
if (fade.style.opacity=0)
{
var i=1;
}
}
}
</script>
<style type="text/css">
#box{
width: 200px;
height: 50px;
border: 1px solid black;
background-color: #ccc;
opacity: 0;
}
</style>
</head>
<body>
<div onMouseOver="FadeEffect(1)" onMouseOut="FadeEffect(0)" id="box">Menu</div>
</body>
</html>
编辑:用setTimeout()函数更新代码。
你可以试试jQuery。这是非常好的,你可以很容易地添加淡入淡出效果元素。 – omnidan 2011-12-28 14:53:47
感谢您的建议,但问题仍未解答。看,我是一个初学者,我真的想全力以赴。 – Onion 2011-12-28 14:55:56
你在你的问题中说你使用“setTimeout()”,但在你发布的代码中没有对“setTimeout()”的调用。 – Pointy 2011-12-28 15:13:04