我試着用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