jQuery是一个快速、简洁的JavaScript库,它简化了HTML文档遍历、事件处理、动画和Ajax交互等操作。要实现移动div并随机选择的功能,主要涉及jQuery的选择器、DOM操作和动画方法。
使用jQuery移动div可以通过以下几种方式:
position
属性并使用top
/left
定位animate()
方法创建平滑动画margin
或transform
属性要随机选择元素,可以:
<!DOCTYPE html>
<html>
<head>
<title>jQuery移动div并随机选择</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<style>
.box {
width: 100px;
height: 100px;
background-color: #f00;
position: absolute;
margin: 10px;
}
#container {
width: 600px;
height: 400px;
border: 1px solid #000;
position: relative;
}
button {
margin: 10px;
}
</style>
</head>
<body>
<div id="container">
<div class="box" id="box1"></div>
<div class="box" id="box2" style="background-color: #0f0; left: 150px;"></div>
<div class="box" id="box3" style="background-color: #00f; left: 300px;"></div>
</div>
<button id="moveRandom">随机移动一个div</button>
<button id="selectRandom">随机选择一个div</button>
<script>
$(document).ready(function() {
// 随机移动一个div
$("#moveRandom").click(function() {
// 获取所有.box元素
var boxes = $(".box");
// 生成随机索引
var randomIndex = Math.floor(Math.random() * boxes.length);
// 选择随机div
var randomBox = boxes.eq(randomIndex);
// 生成随机位置
var container = $("#container");
var maxX = container.width() - randomBox.width();
var maxY = container.height() - randomBox.height();
var newX = Math.floor(Math.random() * maxX);
var newY = Math.floor(Math.random() * maxY);
// 移动div
randomBox.animate({
left: newX,
top: newY
}, 500);
console.log("移动了: " + randomBox.attr("id"));
});
// 随机选择一个div并高亮显示
$("#selectRandom").click(function() {
// 先移除所有高亮
$(".box").css("border", "none");
// 获取所有.box元素
var boxes = $(".box");
// 生成随机索引
var randomIndex = Math.floor(Math.random() * boxes.length);
// 选择随机div
var randomBox = boxes.eq(randomIndex);
// 高亮显示选中的div
randomBox.css("border", "5px solid yellow");
console.log("选中了: " + randomBox.attr("id"));
});
});
</script>
</body>
</html>
#container
和三个不同颜色的divanimate()
方法平滑移动选中的div到新位置position: absolute
或position: relative
才能使用top
/left
定位Math.random()
,注意其范围是[0,1)可以根据需要扩展以下功能:
没有搜到相关的文章