JavaScript拖动层Div代码
发布时间 - 2026-01-10 23:21:51 点击率:次效果图:(灰色区域可拖动)
代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type="text/css">
*{ margin:0; padding:0;} .div{ width:100px; height:100px; position:absolute;left:100px; top:100px; background:#ccc;}
</style>
</head>
<body>
<div class="div">
</div>
<script type="text/javascript">
var div = document.getElementsByTagName('div')[0];
var zIndex = 6;
drag(div);
div.ondblclick = function() {
alert("ok");
};
function drag(oDrag) {
var disX = dixY = 0;
oDrag.onmousedown = function(event) {
var event = event || window.event;
disX = event.clientX - this.offsetLeft;
disY = event.clientY - this.offsetTop;
var oTemp = this.cloneNode(true);
document.body.appendChild(oTemp);
document.onmousemove = function(event) {
var event = event || window.event;
var iL = event.clientX - disX;
var iT = event.clientY - disY;
var maxL = document.documentElement.clientWidth - oDrag.offsetWidth;
var maxT = document.documentElement.clientHeight - oDrag.offsetHeight;
iL <= 0 && (iL = 0);
iT <= 0 && (iT = 0);
iL >= maxL && (iL = maxL);
iT >= maxT && (iT = maxT);
oTemp.style.zIndex = zIndex++;
oTemp.style.opacity = "0.5";
oTemp.style.filter = "alpha(opacity=50)";
oTemp.style.left = iL + "px";
oTemp.style.top = iT + "px";
return false;
};
document.onmouseup = function() {
document.onmousemove = null;
document.onmouseup = null;
oDrag.style.opacity = oTemp.style.opacity;
var arr = {
left: oTemp.offsetLeft,
top: oTemp.offsetTop
};
oDrag.style.zIndex = oTemp.style.zIndex;
oAnimate(oDrag, arr, 300,
function() {
document.body.removeChild(oTemp);
});
oDrag.releaseCapture && oDrag.releaseCapture()
};
this.setCapture && this.setCapture();
return false
}
}
function oAnimate(obj, params, time, handler) {
var node = typeof obj == "string" ? $(obj) : obj;
var _style = node.currentStyle ? node.currentStyle: window.getComputedStyle(node, null);
var handleFlag = true;
for (var p in params) { (function() {
var n = p;
if (n == "left" || n == "top") {
var _old = parseInt(_style[n]);
var _new = parseInt(params[n]);
var _length = 0,
_tt = 10;
if (!isNaN(_old)) {
var count = _old;
var length = _old <= _new ? (_new - _old) : (_old - _new);
var speed = length / time * _tt;
var flag = 0;
var anim = setInterval(function() {
node.style[n] = count + "px";
count = _old <= _new ? count + speed: count - speed;
flag += _tt;
if (flag >= time) {
node.style[n] = _new + "px";
clearInterval(anim);
if (handleFlag) {
handler();
handleFlag = false;
}
}
},
_tt);
}
}
})();
}
}
</script>
</body>
</html>
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
# javascript
# 拖动div
# 拖动
# js
# js实现鼠标拖动功能
# js实现悬浮窗效果(支持拖动)
# javascript html5轻松实现拖动功能
# js实现兼容PC端和移动端滑块拖动选择数字效果
# 基于JavaScript实现拖动滑块效果
# js拖动滑块和点击水波纹效果实例代码
# 无标题文档
# div
# padding
# margin
# px
# height
# width
# css
# content
# Type
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
LinuxShell函数封装方法_脚本复用设计思路【教程】
Python3.6正式版新特性预览
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
米侠浏览器网页图片不显示怎么办 米侠图片加载修复
使用豆包 AI 辅助进行简单网页 HTML 结构设计
Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案
laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法
新三国志曹操传主线渭水交兵攻略
深入理解Android中的xmlns:tools属性
如何在自有机房高效搭建专业网站?
Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程
高性能网站服务器部署指南:稳定运行与安全配置优化方案
Java垃圾回收器的方法和原理总结
微信h5制作网站有哪些,免费微信H5页面制作工具?
zabbix利用python脚本发送报警邮件的方法
百度浏览器网页无法复制文字怎么办 百度浏览器复制修复
如何快速搭建自助建站会员专属系统?
php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】
Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐
Win11怎样安装网易有道词典_Win11安装词典教程【步骤】
Laravel怎么实现支付功能_Laravel集成支付宝微信支付
Edge浏览器如何截图和滚动截图_微软Edge网页捕获功能使用教程【技巧】
如何快速生成可下载的建站源码工具?
如何快速搭建高效WAP手机网站?
百度浏览器如何管理插件 百度浏览器插件管理方法
如何打造高效商业网站?建站目的决定转化率
Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程
Android实现代码画虚线边框背景效果
Android 常见的图片加载框架详细介绍
教你用AI润色文章,让你的文字表达更专业
详解Android图表 MPAndroidChart折线图
如何在不使用负向后查找的情况下匹配特定条件前的换行符
Laravel如何使用查询构建器?(Query Builder高级用法)
实例解析angularjs的filter过滤器
详解Oracle修改字段类型方法总结
网站制作企业,网站的banner和导航栏是指什么?
PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑
JavaScript中的标签模板是什么_它如何扩展字符串功能
HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤
如何快速查询网址的建站时间与历史轨迹?
如何在万网开始建站?分步指南解析
在centOS 7安装mysql 5.7的详细教程
Laravel Blade模板引擎语法_Laravel Blade布局继承用法
太平洋网站制作公司,网络用语太平洋是什么意思?
Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决
Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】

