<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>點擊按鈕讓元素移動、中止</title> <style> div{ width: 100px; height: 100px; background: red; position: absolute; border-radius: 50px; } </style> </head> <body> <button id="btn">開始</button> <div id="myDiv" style="top: 50px;left:10px"></div> <script> let btnMy = document.getElementById("btn"); let btnDiv = document.getElementById("myDiv"); let toRight ='on'; let toBottom ='on'; //左右移動 let move = function(){ let divLeft = parseInt(myDiv.style.left); if(toRight == 'on' && divLeft < innerWidth -100){ myDiv.style.left = parseInt(divLeft) + 1 +'px'; }else if(divLeft == innerWidth - 100 || toRight == 'off'){ toRight = 'off'; myDiv.style.left = parseInt(divLeft) - 1 + 'px'; if(divLeft == 0){ toRight = 'on' } } // 上下移動 let divTop = parseInt(myDiv.style.top) if(toBottom == 'on' && divTop < innerHeight -100){ myDiv.style.top = parseInt(divTop) + 1 +'px'; }else if(divTop == innerHeight - 100 || toBottom == 'off'){ toBottom ='off'; myDiv.style.top = parseInt(divTop) - 1 + 'px'; if(divTop == 0){ toBottom ='on' } } } // 綁定按鈕跟須要移動的元素 let stop; btnMy.onclick = function(){ console.log(btn.innerText) if(btn.innerText == '開始'){ btn.innerText = '暫停' stop = setInterval(move,1) }else{ btn.innerText = '開始'; clearInterval(stop) } } </script> </body> </html>