zaxlctjs 2015-08-07 08:55 采纳率: 81%
浏览 2319
已采纳

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慢慢的向右滑,在这个定时器还没结束的时候
点击其他的按钮,这样就冲突了,
怎样才能让定时器运行的时候,点击其他的定时器它不受影响

  • 写回答

6条回答 默认 最新

  • ConstantDripping 2015-08-07 15:43
    关注

    我这代码实在是传不上去,不太会用。html部分被屏蔽掉了。html部分改动的内容是为每个button添加一个class=“button”

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度