1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > JavaScript实现可拖拽的拖动层Div实例【javascript】

JavaScript实现可拖拽的拖动层Div实例【javascript】

时间:2024-01-22 14:26:20

相关推荐

JavaScript实现可拖拽的拖动层Div实例【javascript】

web前端|js教程

JavaScript,拖拽,拖动层,Div

web前端-js教程

本文实例讲述了JavaScript实现可拖拽的拖动层Div。分享给大家供大家参考。具体如下:

java有什么游戏下载网站源码,vscode怎么发布到网上,ubuntu du全称,tomcat手动执行gc,负面爬虫族,php递归遍历树,惠州关键词seo价格,WordPress科技网站,phpweb模板安装lzw

这是一个完美的JS拖拽效果,带拖尾的JavaScript拖动层代码,经过了多次优化修正,复制节点的方法不错,值得JS爱好者学习,同时代码修正了给拖拽元素加ondblclick事件无效的问题,兼容多种浏览器,拷贝代码即可运行使用。

网站流量统计 源码,ubuntu 卡在登陆,tomcat直接访问图标,淘宝爬虫秒杀,关于php运行,珠海市网络页面seo优化报价lzw

运行效果下图例:

android 源码在线网站,ubuntu 分区丢失,tomcat配置虚拟内存,合肥爬虫防治,小刀娱乐网源码php,西湖区seo是什么意思lzw

具体代码如下:

无标题文档*{ margin:0; padding:0;} .div{ width:100px; height:100px; position:absolute;left:100px; top:100px; background:#ccc;}

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 = 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 = time) {node.style[n] = _new + "px";clearInterval(anim);if (handleFlag) { handler(); handleFlag = false;} } }, _tt); }}})(); } }

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。