jQuery仿360浏览器导航页图标拖动
我们要实现的效果是:
<div class="nav-container">
<div class="nav-item" draggable="true">图标1</div>
<div class="nav-item" draggable="true">图标2</div>
<div class="nav-item" draggable="true">图标3</div>
</div>
.nav-container {
width: 80%;
margin: 0 auto;
}
.nav-item {
width: 100px;
height: 100px;
background-color: #f0f0f0;
border-radius: 5px;
margin: 10px;
cursor: move;
}
$(document).ready(function() {
$(".nav-item").draggable({
containment: ".nav-container",
revert: "invalid",
scroll: false,
stack: ".nav-item",
stop: function(event, ui) {
// 拖动结束后的回调函数,可以在这里添加自定义的排序逻辑
console.log("拖动结束:", ui.position);
}
});
});
containment
: 限制拖拽范围在容器内。revert
: 拖拽结束后回到原位。scroll
: 禁止滚动。stack
: 使拖动的元素堆叠在一起。stop
: 拖动结束时的回调函数,可以在这里实现自定义的排序逻辑。
<!DOCTYPE html>
<html>
<head>
<title>jQuery仿360导航页图标拖动</title>
<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<scrip t src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></ script>
<style>
/* CSS样式 */
</style>
</head>
<body>
<div class="nav-container">
</div>
<script>
// jQuery代码
</script>
</body>
</html>
通过jQuery UI的draggable方法,我们可以轻松实现类似360浏览器导航页的图标拖动效果。结合CSS样式和自定义JavaScript代码,可以打造出更加丰富多彩的交互体验。
温馨提示:
希望这份回答能帮助你实现你的需求!