源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

js实现iGoogleDivDrag模块拖动层拖动特效的方法

  • 时间:2021-03-10 11:40 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:js实现iGoogleDivDrag模块拖动层拖动特效的方法
本文实例讲述了js实现iGoogleDivDrag模块拖动层拖动特效的方法。分享给大家供大家参考。具体实现方法如下:
[u]复制代码[/u] 代码如下:
<!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>js实现iGoogle Div Drag 模块拖动 层拖动效果</title> <style type="text/css"> *{margin:0px; padding:0px;}  body{position:relative; width:780px; height:800px; border:1px solid red} .drag{width:200px; height:100px; border:1px solid #000;margin:20px; background:#fff} .drag h1{margin:0px; padding:0px; font-size:12px; height:18px; line-height:18px; background:#E0E7F3; text-indent:20px;cursor:move;} .center{ margin:200px; border:3px solid red} </style> <script type="text/javascript"></script> </head> <body>  <div class="drag" >  <h1><strong>www.baidu.com</strong></h1>  </div>  <div class="drag" >  <h1>www.163.com</h1>  </div>  <div class="drag" >  <h1><strong>www.1sucai.cn</strong></h1>  </div>  <div class="drag"><h1>测试二</h1></div>  <div class="drag"><h1>测试三</h1></div>  <div class="drag"><h1>测试四</h1></div>  <div class="drag"><h1>测试五</h1></div> </body> </html> <script type="text/javascript"> /* Author  : popper.w Version : v2.0 */ var DragZindexNumber=0; function drag(obj){ var ox,oy,ex,xy,tag=0,mask=0; if(tag==0){ obj.onmousedown=function(e)  {     if(mask==1){return; }   obj.style.zIndex=DragZindexNumber++;      transp(obj,"start")   tag=1;   var e = e||window.event;   ex=getEventOffset(e).offsetX;   ey=getEventOffset(e).offsetY;   ox=parseInt(obj.offsetLeft);   oy=parseInt(obj.offsetTop);   tempDiv=document.createElement("div");   with(tempDiv.style)    {    width=obj.offsetWidth+"px";    height=obj.offsetHeight+"px";    border="1px dotted red";    position="absolute";    left=obj.offsetLeft+"px";    top=obj.offsetTop+"px";    zIndex=999;    }   document.body.appendChild(tempDiv);   this.ele=tempDiv;   fDragStart(tempDiv);   document.body.onmousemove=function(e){   if(tag==1)    {    var e=e||window.event;    tempDiv.style.left=parseInt(e.clientX)-ex+"px";    tempDiv.style.top=parseInt(e.clientY)-ey+"px";    }   else{if(!tempDiv==null)tempDiv.parentNode.removeChild(tempDiv)}   }     tempDiv.onmouseup=function(e)   {   var e=e||window.event;   fDragEnd(tempDiv);   obj.style.position="absolute";   movie(obj,parseInt(e.clientX)-ex-19,parseInt(e.clientY)-ey-20);   tempDiv.parentNode.removeChild(tempDiv);   tag=0;   }   }  } } function movie(o,l,t){   var a=1;   mask=1;   var ol=parseInt(o.offsetLeft);   var ot=parseInt(o.offsetTop);   var iTimer=setInterval(function(){    if(a==10)     {   transp(o,"end");   mask=0;   clearInterval(iTimer);   }    o.style.left=ol+a*(l-ol)/10+"px";    o.style.top=ot+a*(t-ot)/10+"px";    a++; },20); } function fCancleBubble(e) {  var e = window.event || e;  if (e.preventDefault) e.preventDefault();  else e.returnValue = false; } function transp(o,mode){            if(mode=="start"){    if(document.all){     o.style.filter = "Alpha(Opacity=50)";    }else{     o.style.opacity = 0.5;    }    }     else {       if(document.all){     o.style.filter = "Alpha(Opacity=100)";    }else{     o.style.opacity = 1;    }     } } function getOffset(evt) {   var target = evt.target;   if (target.offsetLeft == undefined)   {     target = target.parentNode;   }   var pageCoord = getPageCoord(target);   var eventCoord =   {     x: window.pageXOffset + evt.clientX,     y: window.pageYOffset + evt.clientY   };   var offset =   {     offsetX: eventCoord.x - pageCoord.x,     offsetY: eventCoord.y - pageCoord.y   };   return offset; } function getPageCoord(element) {   var coord = {x: 0, y: 0};   while (element)   {     coord.x += element.offsetLeft;     coord.y += element.offsetTop;     element = element.offsetParent;   }   return coord; } function getEventOffset(evt) {   var msg = "";   if (evt.offsetX == undefined)   {     var evtOffsets = getOffset(evt);  msg={offsetX:evtOffsets.offsetX,offsetY:evtOffsets.offsetY};   }   else   {  msg={offsetX:evt.offsetX,offsetY:evt.offsetY};   }   return msg; } function fDragStart(XEle) {  switch(fCkBrs())  {    case 3:     window.getSelection().removeAllRanges();     break;        default:     XEle.setCapture();     break;  } } function fDragEnd(XEle) {  switch(fCkBrs())  {    case 3:     window.getSelection().removeAllRanges();     break;        default:     XEle.releaseCapture();     break;  } } function fCkBrs() {  switch (navigator.appName)  {   case 'Opera': return 2;   case 'Netscape': return 3;   default: return 1;  } } var element=document.getElementsByTagName("div"); for(var i=0;i<element.length;i++){   if(element[i].className=="drag"){   drag(element[i])}   } </script>
希望本文所述对大家的javascript程序设计有所帮助。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部