189 8069 5689

JavaScript拖动层Div的示例分析

这篇文章主要为大家展示了“JavaScript拖动层Div的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JavaScript拖动层Div的示例分析”这篇文章吧。

昭化网站建设公司成都创新互联公司,昭化网站设计制作,有大型网站制作公司丰富经验。已为昭化成百上千家提供企业网站建设服务。企业网站搭建\成都外贸网站制作要多少钱,请找那个售后服务好的昭化做网站的公司定做!

效果图:(灰色区域可拖动)

JavaScript拖动层Div的示例分析

代码如下:





无标题文档

*{ 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 <= 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);     }    }    })();   }   }    

以上是“JavaScript拖动层Div的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


标题名称:JavaScript拖动层Div的示例分析
文章起源:http://cdxtjz.cn/article/ihcehp.html

其他资讯