JavaScript实现简单元素拖拽功能示例
作者:微光时间:2026-10-21 23:26:22浏览:573
本文详细介绍如何使用JavaScript实现简单的元素拖拽功能。通过监听mousedown、mousemove和mouseup事件,结合DOM元素的定位属性,实现鼠标拖动元素的效果。代码示例包含完整的HTML结构和JavaScript逻辑,适合前端初学者参考学习。
JavaScript实现简单元素拖拽功能示例
本文通过具体实例,演示如何使用JavaScript实现基础的拖拽交互功能,供读者参考借鉴。
以下是完整的示例代码实现:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>js实现拖拽</title>
<style>
#water{
width:400px;
height:188px;
background-color: #ff6600;
}
#water:hover{
cursor: pointer;
}
</style>
</head>
<body>
<div id="water"></div>
<script>
dragInit("water");//调用
//拖拽初始化
function dragInit(id){
var $div = document.getElementById(id);
var style = {
position: "absolute",
left: "0",
top: "0"
}
for(var k in style){
$div.style[k] = style[k];//设置关键css
}
$div.onmousedown = function(e){//鼠标按键按下
e = e || window.event;
var x = e.clientX - $div.offsetLeft;//鼠标到左上角的距离信息, 固定不变
var y = e.clientY - $div.offsetTop;
document.onmousemove = function(e){//鼠标移动
e = e || window.event;
var L = e.clientX - x;
var T = e.clientY - y;
var pW = document.documentElement.clientWidth;//页面宽度
var pH = document.documentElement.clientHeight;
var divW = $div.offsetWidth;//Dom宽度
var divH = $div.offsetHeight;
// 范围限定
if(L < 0){
L = 0;
}
if(T < 0){
T = 0;
}
if(L > pW - divW){
L = pW - divW;
}
if(T > pH - divH){
T = pH - divH;
}
// 范围限定 end
$div.style.left = L + "px";
$div.style.top = T + "px";
};
document.onmouseup = function(e){//鼠标按键松开
document.onmousemove = null;
};
};
}
</script>
</body>
</html>
运行效果如下图所示:

如需了解更多JavaScript相关技巧,可参考本站专题:《JavaScript切换特效与技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript查找算法技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript中json操作技巧总结》、《JavaScript错误与调试技巧总结》及《JavaScript数学运算用法总结》。
希望本文提供的代码与说明能对大家的JavaScript编程实践有所帮助。
作者最新文章
JavaScript零基础入门:从环境搭建到运行第一段代码
2026-11-05 15:29:58
HTML链接中javascript:void(0)的作用及现代替代方案
2026-11-05 10:07:47
在线调试 JS 时怎么引入 jQuery 或 Vue 等第三方库
2026-11-05 08:53:56
原生JavaScript实现简易颜色选择器原理与代码
2026-11-03 23:22:19
JS原生表单序列化:FormData与URLSearchParams用法详解
2026-11-03 23:13:21
