定时器让元素移动功能

定时器让元素移动功能

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        
        div {
            position: relative;
            width: 200px;
            height: 200px;
            background-color: red;
        }
    </style>
</head>

<body>
    <button id="begin">开始</button>
    <button id="stop">停止</button>
    <div id="move"></div>
    <script>
        var begin = document.querySelector("#begin");
        var stop = document.querySelector("#stop");
        var move = document.querySelector("#move");
        var juli = 50;//设置第一次移动的距离
        var time;//设置获取定时器值的变量
        begin.addEventListener('click', function() {
            console.log(1);
            clearInterval(time);//每次设置一个新的定时器的时候  先清除上一个定时器  否则就会出现 每点击一次就会加速的效果 这是因为每次点击都设置了一个新的定时器  所以要在每次设置定时器之前都清除上一个定时器
            time = setInterval(() => {
                move.style.left = juli + 'px';
                juli += 50;//每次移动的距离加50
            }, 500);
        })
        stop.addEventListener('click', function() {
            console.log(2);
            clearInterval(time);
        })
    </script>
</body>
</html>

//注:每次用变量去接收定时器的值 都会接收到不一样的值 比如说第一次接受到的是1 第二次就是2 所以 每次设置一个新的定时器 就会把之前定时器的值给覆盖过去 故而清除定时的时候 只能清除那个最新的定时器 在之前的定时器是清除不掉的

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值