JavaScript实现鼠标拖拽框选效果完整代码
作者:窗边听雨时间:2026-10-31 01:28:25浏览:162
本文提供JavaScript实现鼠标框选效果的完整实例。通过监听鼠标按下、移动和释放事件,动态创建临时div元素绘制选择区域,并计算选中元素范围。代码包含HTML结构、CSS样式及完整的JS逻辑,适用于需要用户自定义区域选择的前端场景。
JavaScript鼠标框选效果实现
本文通过一个完整的JavaScript实例,详细演示如何实现鼠标框选(拖拽选择)效果。该示例旨在为开发者提供可直接参考和使用的代码方案。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>鼠标框选效果</title>
<style>
*{
padding:0;
margin:0;
}
#bottom{
position:absolute;
bottom:0px;
width:100%;
height:40px;
border:1px solid #000;
background:#000;
color:#fff;
}
.tempDiv{
border:1px dashed blue;
background:#5a72f8;
position:absolute;
width:0;
height:0;
filter:alpha(opacity:10);
opacity:0.1
}
</style>
<script type = "text/javascript">
window.onload = function(){
var stateBar = document.getElementById("bottom");
document.onmousedown = function(e){
var posx = e.clientX;
var posy = e.clientY;
var div = document.createElement("div");
div.className = "tempDiv";
div.style.left = e.clientX+"px";
div.style.top = e.clientY+"px";
document.body.appendChild(div);
document.onmousemove = function(ev){
div.style.left = Math.min(ev.clientX, posx) + "px";
div.style.top = Math.min(ev.clientY, posy) + "px";
div.style.width = Math.abs(posx - ev.clientX)+"px";
div.style.height = Math.abs(posy - ev.clientY)+"px";
stateBar.innerHTML = "MouseX: " + ev.clientX + "<br/>MouseY: " + ev.clientY;
document.onmouseup = function(){
div.parentNode.removeChild(div);
document.onmousemove = null;
document.onmouseup = null;
}
}
}
}
</script>
</head>
<body>
<div id = "bottom"></div>
</body>
</html>
如需进一步了解JavaScript其他功能,建议查阅本站相关专题,包括《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》以及《JavaScript数学运算用法总结》。
希望上述关于JavaScript程序设计的代码示例能对您的开发工作提供帮助。
作者最新文章
anime.js 快速入门:怎么引入库并编写第一个 DOM 动画
2026-11-05 14:22:43
在线JS解密后变量名仍乱码?结合浏览器DevTools调试还原
2026-11-04 20:26:01
怎么在浏览器中运行JavaScript代码并查看输出结果
2026-11-04 09:07:33
JS 获取屏幕分辨率:window.screen.width 与 height 用法
2026-11-04 08:52:48
为什么推荐用DOMContentLoaded代替window.onload初始化JS
2026-11-04 08:42:33
