为什么没有用?哪里写错了?

来源:6-2 完美运动框架

守候也是最长情的告白

2015-12-13 23:36

<!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">

*{

margin:0;

padding:0;

}

#box{

width:300px;}

#box li{

list-style:none;

width:200px;

height:100px;

background:#06F;

float:left;

margin:10px;

opacity:0.4;

filter:alpha(opacity=40);

}

</style>

</head>


<body>

<div id="box">

  <ul>

    <li></li>

    <li></li>

    <li></li>

    <li></li>

  </ul>

</div>

<script type="text/javascript">

window.onload = function(){

var lis = document.getElementsByTagName('li');

for(var i=0;i<lis.length;i++){

lis[i].onmouseover = function(){

startMove(this,{width:100});

}

}

var getStyle = function(obj,attr){

if(obj.currentStyle){

return obj.currentStyle[attr];

   }

else{

return getComputedStyle(obj,false)[attr];

}

}


var startMove = function(obj,json,fn){

var flag = true;

clearInterval(obj.timer);

obj.timer = setInterval(function(){

for(var attr in json){

var icur = 0;

if(attr = 'opacity'){

icur = Math.round(parseFloat(getStyle(obj,attr))*100);

}

else{

icur = parseInt(getStyle(obj,attr));

}

var speed = (json[attr]-icur)/8;

speed = speed>0?Math.ceil(speed):Math.floor(speed);

if(icur != json[attr]){

flag = false;

}

  if(attr == 'opacity'){

  obj.style.opacity = (icur+speed)/100; 

  obj.style.filter = "alpha(opacity:+'(icur+speed)')";

  }

  else{

      obj.style[attr]=icur+speed+'px';

  }

}

if(flag){

clearInterval(obj.timer);

if(fn){

fn();

}

}

},30);

}

}


</script>

</body>

</html>


写回答 关注

1回答

  • Caballarii
    2015-12-13 23:46:42
    已采纳

    startMove函数里面第一个if(attr = 'opacity'){等于号少了一个

    其他的不太了解你具体需要做什么,你再调试看看

    守候也是最长...

    少了个等号,把width改成透明度的时候竟然可以运行。所以觉得很奇怪。~~~~(>_<)~~~~

    2015-12-14 00:10:25

    共 1 条回复 >

JS动画效果

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

113925 学习 · 1443 问题

查看课程

相似问题