亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

明明和老師的代碼是一樣的,為什么我的在多次點擊的時候還是跑的很快,感覺前面那個清除沒有作用

<!DOCTYPE ?HTML>

<html >

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>js運動</title>

<style>

*{margin:0px;padding:0px;}

#div1{height:200px;

? ? ? ? ?width:200px;

background:red;

position:relative;

left:-200px;}

#share{width:50px;

? ? ? ?height50px;

? background:blue;

? position:absolute;

? top:100px;

? left:200px;

? }

</style>

<script>

? window.onload=function(){

? var odiv=document.getElementById("div1");

? ? odiv.onmouseover=function(){

startMove();

}

? }

? var timer=null;

? function startMove(){

?clearInterval(timer);

?var odiv=document.getElementById("div1");

?setInterval(function(){

?if(odiv.offsetLeft==0){

?clearInterval(timer);

?}

?else{

?odiv.style.left=odiv.offsetLeft+1+"px";

?}

?},30)

?}

</script>

</head>

<body>

? <div id="div1">

? <span id="share">分享</span>

?</div>

</body>

</html>


正在回答

3 回答

timer在這里需要為全局變量,在定時器前面加timer=,注意不能再加var,否則據就近原則,startMove函數中使用的timer就不是函數外部的全局變量了,就無法達到預期的效果~你試試看

0 回復 有任何疑惑可以回復我~
#1

芥子1204 提問者

非常感謝!
2016-04-07 回復 有任何疑惑可以回復我~
#2

ahao430

我也是這個問題,去掉var好了,感謝
2016-05-09 回復 有任何疑惑可以回復我~

你可以試試將setInterval(function(){

?if(odiv.offsetLeft==0){

改為

timer=setInterval(function(){

?if(odiv.offsetLeft==0){

0 回復 有任何疑惑可以回復我~
#1

芥子1204 提問者

謝謝~~~阿里阿朵
2016-04-07 回復 有任何疑惑可以回復我~

"clearInterval(timer); " 這句代碼下面還有個 " setInterval(function(){...} " 前面沒有加 " var timer = "

0 回復 有任何疑惑可以回復我~
#1

芥子1204 提問者

謝謝~~~
2016-04-07 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

明明和老師的代碼是一樣的,為什么我的在多次點擊的時候還是跑的很快,感覺前面那個清除沒有作用

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號