JavaScript 控制 div 运动轨迹主要涉及以下几个基础概念:
setInterval
或 setTimeout
函数来定时执行某些操作,从而实现动画效果。left
、top
等属性)来改变元素的位置。document.getElementById
或其他 DOM 选择器获取需要移动的 div 元素。<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Div Movement</title>
<style>
#movingDiv {
width: 50px;
height: 50px;
background-color: red;
position: absolute;
top: 0;
left: 0;
}
</style>
</head>
<body>
<div id="movingDiv"></div>
<script>
const movingDiv = document.getElementById('movingDiv');
let positionX = 0;
let positionY = 0;
const speed = 2;
function moveDiv() {
positionX += speed;
positionY += speed;
// 处理边界情况
if (positionX > window.innerWidth - movingDiv.offsetWidth) {
positionX = 0;
}
if (positionY > window.innerHeight - movingDiv.offsetHeight) {
positionY = 0;
}
movingDiv.style.left = `${positionX}px`;
movingDiv.style.top = `${positionY}px`;
}
setInterval(moveDiv, 20);
</script>
</body>
</html>
优势:
应用场景:
问题1:动画卡顿
requestAnimationFrame
替代 setInterval
来提高动画流畅度。问题2:元素超出视口
通过以上步骤和方法,可以有效地使用 JavaScript 控制 div 的运动轨迹,并解决常见的动画问题。
领取专属 10元无门槛券
手把手带您无忧上云