function startMove(itarget){
clearInterval(timer);
timer=setInterval(function(){
var speed=0;
if (oDiv.offsetLeft>itarget) {
speed=-10;
} else{
speed=10;
};
if (oDiv.offsetLeft==itarget) {
} else{
oDiv.style.left=oDiv.offsetLeft+speed+'px';
}
},30);
clearInterval(timer);
timer=setInterval(function(){
var speed=0;
if (oDiv.offsetLeft>itarget) {
speed=-10;
} else{
speed=10;
};
if (oDiv.offsetLeft==itarget) {
} else{
oDiv.style.left=oDiv.offsetLeft+speed+'px';
}
},30);
2015-07-16
最赞回答 / wengyaqiang
我现在的观点是,在speed>0时,在speed减小到0<speed<1的阶段,如果使用了Math.floor,那么speed就变成0了,那么Left就没办法达到0,而使用Math.ceil,在speed减小到0<speed<1的阶段,speed值就是取1,那么Left就能继续移动直到达到0。
2015-07-10
window.onload=function(){
var oDive = document.getElementById('div1');
oDiv.onmouseoveer = function(){
startMove();
}
function startMove(){var oDiv = document.getElementById('div1');setInterval(function(){oDiv.style.left= oDive.offsetLeft+10+'px';},30)}}
var oDive = document.getElementById('div1');
oDiv.onmouseoveer = function(){
startMove();
}
function startMove(){var oDiv = document.getElementById('div1');setInterval(function(){oDiv.style.left= oDive.offsetLeft+10+'px';},30)}}
2015-07-07