html向下取整,向上取整和向下取整

无标题文档

*{margin:0;padding:0;}

ul li{

list-style:none;

width:200px;

height:100px;

background:yellow;

margin-bottom:20px;

}

window.οnlοad=function(){

var ali = document.getElementsByTagName("li");

for(i=0;i

ali[i].timer = null;

ali[i].οnmοuseοver=function(){

startMove(this,400);

}

ali[i].οnmοuseοut=function(){

startMove(this,200);

}

}

}

function startMove(obj,itarget){

clearInterval(obj.timer);

var speed;

obj.timer=setInterval(function(){

speed = (itarget-obj.offsetWidth)/8;

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

if(obj.offsetWidth == itarget){

clearInterval(obj.timer);

}

else{

obj.style.width = obj.offsetWidth+speed+"px";

}

},30);

}

这两行:

speed = (itarget-obj.offsetWidth)/8;

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

当物体宽度为200,目标为400时,speed的值应该是从200/8一直变到0。比如,由于像素问题,变道0.5就不在变化了,那么就要把0.5变为0.此时应该是向下取整,也就是Math.floor(speed)。同理,当从400变为200时,speed的值一直是负的,比如,到最后变为-0.5不在变化,那么此时应该用向上取整使speed的值变为0啊。所以,这句speed = speed>0?Math.ceil(speed):Math.floor(speed);为什么不是speed = speed>0?Math.floor(speed):Math.ceil(speed);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值