为了账号安全,请及时绑定邮箱和手机立即绑定

为什么目标值是400,可是元素只到393就一直死循环,

<!DOCTYPE html>

<html>


<head>

<meta charset="UTF-8">

<title>Document</title>

<style type="text/css">

ul li {

list-style: none;

}

ul li {

width: 200px;

height: 100px;

background: yellow;

margin-bottom: 20px;

border: 4px solid #00ffff;

}

</style>

<script type="text/javascript">

window.onload = function() {

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

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

aLi[i].timer = null;

aLi[i].onmouseover = function() {

startMove(this, 400);

}

aLi[i].onmouseout = function() {

startMove(this, 200);

}


}

}

// var timer=null;


function startMove(obj, target) {

clearInterval(obj.timer);

obj.timer = setInterval(function() {

var icur = parseInt(getStyle(obj, 'width'));

var speed = (target - icur) / 8;

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

if(icur == target) {

clearInterval(obj.timer);

console.log(obj.style.width)

} else {

obj.style.width = icur + speed + 'px';

}

}, 30)


}


function getStyle(obj, attr) {

if(obj.currentStyle) {

return obj.currentStyle[attr];

} else {

return getComputedStyle(obj, false)[attr];

}

}

</script>

</head>


<body>

<ul>

<li></li>

<li></li>

<li></li>

<li></li>

</ul>


</body>


</html>


正在回答

4 回答

你在浏览器里调试一下,就很容易发现问题的,我写代码时,第一遍,总出点毛病,调式多了,就会了;

0 回复 有任何疑惑可以回复我~
没问题啊,可以运行啊


0 回复 有任何疑惑可以回复我~

这代码没问题,在我这运行正常呀

0 回复 有任何疑惑可以回复我~

你这代码没问题啊

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么目标值是400,可是元素只到393就一直死循环,

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信