qq_小小小小小小慧_0
2016-06-06 21:11
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type="text/css">
#box{
width:200px;
height:200px;
background-color:#F00;
filter:alpha(opacity:30);
opacity:0.3;
}
</style>
<script>
window.onload=function(){
var oDiv=document.getElementById("box");
oDiv.onmouseover=function(){
startMove(100);
}
oDiv.onmouseout=function(){
startMove(30);
}
}
var timer=null;
var alpha=30;
function startMove(){
var oDiv=document.getElementById("box");
clearInterval(timer);
timer=setInterval(function(){
var speed=0;
if(alpha>iTarget){
speed=-10;}
else{
speed=10}
if(alpha==iTarget){
clearInterval(timer);}
else{
alpha+=speed;
oDiv.style.filter='alpha(opactiy:'+alpha+')';
oDiv.style.opacity=alpha/100;
}
},30)
}
</script>
</head>
<body>
<div id="box"></div>
</body>
</html>
使用谷歌浏览器,按F12进行调试就只知道错在哪里,习惯用很容易找错的,我稍微调试一下就可以看出这句‘if(alpha>iTarget) ’里的iTarget还没有定义,所以它找不到就会出错了,在这句‘
oDiv.onmouseout=function(){
startMove(30);
}’里的startMove(30),是有参数的,所以你写startMove()函数时也应传一个参数,要对应的,所以改成function startMove(iTarget)就好了;
谢啦,谢啦!!
第28行function startMove()函数中间参数没填,改为function startMove(iTarget)即可
JS动画效果
113924 学习 · 1443 问题
相似问题