最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS基于面向?qū)ο髮?shí)現(xiàn)的拖拽功能示例

 更新時(shí)間:2016年12月20日 09:45:07   作者:鬼畜十三  
這篇文章主要介紹了JS基于面向?qū)ο髮?shí)現(xiàn)的拖拽功能,涉及javascript面向?qū)ο笈c頁(yè)面元素動(dòng)態(tài)操作的相關(guān)技巧,需要的朋友可以參考下

本文實(shí)例講述了JS基于面向?qū)ο髮?shí)現(xiàn)的拖拽功能。分享給大家供大家參考,具體如下:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style>
#div1 {width:100px; height:100px; background:red; position:absolute;}
#div2 {width:100px; height:100px; background:yellow; position:absolute;}
</style>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無(wú)標(biāo)題文檔</title>
<script>
window.onload=function(){
  new Drag("div1");
  new Drag("div2");
}
function Drag(id)
{
  var _this=this;
  this.oDiv=document.getElementById(id);
  this.disX=0;
  this.disY=0;
  this.oDiv.onmousedown=function(ev){
    _this.fnDown(ev);
    return false;
  };
}
  Drag.prototype.fnDown=function(ev)
  {
    var _this=this;
    var oEvent=ev||event;
    this.disX=oEvent.clientX-this.oDiv.offsetLeft;
    this.disY=oEvent.clientY-this.oDiv.offsetTop;
    document.onmousemove=function(ev){
      _this.fnMove(ev);
    };
    document.onmouseup=function(){
      _this.fnUp();
    };
  };
  Drag.prototype.fnMove=function(ev)
  {
    var oEvent=ev||event;
    var l=oEvent.clientX-this.disX;
    var t=oEvent.clientY-this.disY;
    if(l<0)
    {
      l=0;
    }
    else if(l>document.documentElement.clientWidth-this.oDiv.offsetWidth)
    {
      l=document.documentElement.clientWidth-this.oDiv.offsetWidth;
    }
    if(t<0)
    {
      t=0;
    }
    else if(t>document.documentElement.clientHeight-this.oDiv.offsetHeight)
    {
      t=document.documentElement.clientHeight-this.oDiv.offsetHeight;
    }
    this.oDiv.style.left=l+'px';
    this.oDiv.style.top=t+'px';
  };
  Drag.prototype.fnUp=function()
  {
    document.onmousemove=null;
    document.onmouseup=null;
  };
</script>
</head>
<body>
<div id="div1"></div>
<div id="div2"></div>
</body>
</html>

繼承

function LimitDrag(id){
  Drag.call(this,id); //繼承屬性
}
for(var i in Drag.prototype){
  LimitDrag.prototype[i]=Drag.prototype[i];
}

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《javascript面向?qū)ο笕腴T教程》、《JavaScript切換特效與技巧總結(jié)》、《JavaScript動(dòng)畫(huà)特效與技巧匯總》、《JavaScript查找算法技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript中json操作技巧總結(jié)》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)

希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論

望城县| 辽源市| 府谷县| 平远县| 竹山县| 蒲江县| 金昌市| 南漳县| 和龙市| 九江市| 元阳县| 河池市| 郧西县| 宕昌县| 涞源县| 化州市| 将乐县| 萍乡市| 文山县| 澄城县| 济南市| 镇巴县| 太原市| 商河县| 眉山市| 黄陵县| 顺昌县| 长岛县| 新乡县| 瓮安县| 建水县| 彭州市| 通州市| 泗阳县| 张家港市| 江永县| 萨嘎县| 德格县| 微山县| 诏安县| 海宁市|