问答详情
源自:2-1 JS速度动画

为什么timer不能再onload事件里声明呢

<div id="item" class="main"><span id = "spare" class = "sp">分享</span></div>

<script type="text/javascript">

window.onload = function (){

var item=document.getElementById("item");

item.onmouseover = function(){

startMove(0);

}

item.onmouseout = function(){

startMove(-400);

}

}

var timer = null;

function startMove(target){

var item=document.getElementById("item");

clearInterval(timer);

timer  = setInterval (function(){

speed = (item.offsetLeft > target)?-10 : 10;

if (item.offsetLeft == target){

clearInterval(timer);

}

else{

item.style.left = item.offsetLeft + speed + "px";

}

},30)

}

</script>


提问者:龙缘 2019-11-06 11:34

个回答

  • qq_慕沐3208047
    2020-01-08 16:20:33

    onload事件是页面加载就执行. 如果你在onload里面声明 启动就会执行一次,而不是鼠标进入执行。