程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> javascript-JS裡定時器發生沖突怎麼結局?謝謝了

javascript-JS裡定時器發生沖突怎麼結局?謝謝了

編輯:編程綜合問答
JS裡定時器發生沖突怎麼結局?謝謝了
<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<style type="text/css">
    #A{height:120px; width:1000px; background:#ccc; position:relative; left:0; top:0; margin:auto; margin-top:50px;}
    #B{height:100px; width:100px; background:red; position:absolute; left:0; top:20px;}
    input{width:50px; height:40px; margin-right:20px;}
    .ma{width:400px; margin:auto; margin-top:50px;}

</style>
<body>
<div id="A">
    <div id="B" style="left:0px;"></div>
</div>
<div class="ma">
    <input value="到達0"   type="button" onclick="show(0)"/>
    <input value="到達300" type="button" onclick="show(1)"/>
    <input value="到達600" type="button" onclick="show(2)"/>
    <input value="到達900" type="button" onclick="show(3)"/>
</div>
</body>
<script>
    var tt=document.getElementById('B').style.left;
    var timer=null;
    function right(jc){
        tt=parseInt(tt)+30;
        if(tt>=(jc*300)){
            tt=(jc*300);
            window.clearInterval(timer);
        }
        document.getElementById('B').style.left=tt+'px';
    }
    function left(jc){
        tt=parseInt(tt)-30;
        if(tt<=(jc*300)){
            tt=(jc*300);
            window.clearInterval(timer);
        }
        document.getElementById('B').style.left=tt+'px';
    }
    function show(jc){
        if(parseInt(tt)<(jc*300)){
            timer=window.setInterval(function (){right(jc)},30);
        }else if(parseInt(tt)>(jc*300)) {
            timer = window.setInterval(function () {left(jc)}, 30);
        }
    }
</script>
</html>


點擊"到達900",定時器開始運行,盒子B慢慢的向右滑,在這個定時器還沒結束的時候
點擊其他的按鈕,這樣就沖突了,
怎樣才能讓定時器運行的時候,點擊其他的定時器它不受影響

最佳回答:


我這代碼實在是傳不上去,不太會用。html部分被屏蔽掉了。html部分改動的內容是為每個button添加一個class=“button”

jiangyeqt
zaxlctjs
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved