为什么我这个运动动画 到不了指定值?

来源:4-3 任意属性值(一)

HAIM

2016-07-14 17:05


<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style>
#hd{
width:200px;
height:100px;
background:#F05053;
}
</style>

<script type="text/javascript">

window.onload=function(){
var h = document.getElementById("hd");
h.onmouseover= function(){
move(h,"width",400);
}

h.onmouseout= function(){
move(h,"width",200);
}
}

function move (obj,attr,iTarget){
clearInterval(obj.timer);
obj.timer = setInterval(function(){
var icurr = parseInt(getStyle(obj,attr));
var speed = (iTarget-icurr)/7;
speed = speed<0?Math.floor(speed):Math.ceil(speed);
if(icurr == iTarget){
clearInterval(obj.timer);
}else{
obj.style[attr] = icurr+speed+"px";
}
},30);
}

function getStyle(obj,attr){
if(obj.currentStyle){
return obj.currentStyle[attr];
}else{
return getComputedStyle(obj,false)[attr];
}
}
</script>
</head>

<body>
<p id="hd"></p>
</body>
</html>

为什么我这个宽度 只能到394呢 到不了400  什么情况

写回答 关注

2回答

  • 啊啊啊啊123
    2016-07-14 20:41:41
    已采纳

    http://img.mukewang.com/5787883800013ab605100482.jpg

    可以啊 ,我用的就是你的代码。不知道什么问题 *{margin: 0;padding: 0;}试试 

    HAIM 回复啊啊啊啊12...

    我没低版本ie 只有ie11 这些新浏览器 就这个360极速 发现有点问题

    2016-07-14 22:19:22

    共 3 条回复 >

  • _半人
    2018-08-23 09:52:35

    为什么我用火狐也是393px,然后死循环,到不了400px目标值,


JS动画效果

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

113925 学习 · 1443 问题

查看课程

相似问题