为什么不出结果啊

来源:2-2 JS透明度动画

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>


写回答 关注

3回答

  • qyy2499760117_叶子
    2016-06-07 10:05:53

    使用谷歌浏览器,按F12进行调试就只知道错在哪里,习惯用很容易找错的,我稍微调试一下就可以看出这句‘if(alpha>iTarget) ’里的iTarget还没有定义,所以它找不到就会出错了,在这句‘

    oDiv.onmouseout=function(){

    startMove(30);

    }’里的startMove(30),是有参数的,所以你写startMove()函数时也应传一个参数,要对应的,所以改成function startMove(iTarget)就好了;

  • qq_小小小小小小慧_0
    2016-06-07 08:06:01

    谢啦,谢啦!!

  • Sunnylincon
    2016-06-06 22:03:27

    第28行function startMove()函数中间参数没填,改为function startMove(iTarget)即可

JS动画效果

通过本课程JS动画的学习,从简单动画开始,逐步深入各种动画框架封装

113924 学习 · 1443 问题

查看课程

相似问题