亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

JavaScript使用面向對象實現的拖拽功能詳解

2019-11-19 11:21:20
字體:
來源:轉載
供稿:網友

本文實例講述了JavaScript使用面向對象實現的拖拽功能。分享給大家供大家參考,具體如下:

面向對象有個前提:

  • 前提:所有東西都必須包含在onload里
  • 改寫:不能有函數嵌套,可以有全局變量
  • 過程,如下
    • onload改成構造函數,
    • 全局變量改成屬性(通過this)
    • 函數改寫成方法
<!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>面向對象的繼承-1</title><style>#div1 {width: 100px; height: 100px; background: red; position: absolute;}</style><script>window.onload = function() {  var oDiv = document.getElementById('div1');  oDiv.onmousedown = function(ev) {    var ev = ev || event;    var disX = ev.clientX - this.offsetLeft;    var disY = ev.clientY - this.offsetTop;    document.onmousemove = function(ev) {      var ev = ev || event;      oDiv.style.left = ev.clientX - disX + 'px';      oDiv.style.top = ev.clientY - disY + 'px';    }    document.onmouseup = function() {      document.onmousemove = document.onmouseup = null;    }  }}</script></head><body>  <div id="div1"></div></body></html>

把局部變量改成全局變量

<!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>面向對象的繼承-2</title><style>#div1 {width: 100px; height: 100px; background: red; position: absolute;}</style><script>var oDiv=null;var disX=0;var disY=0;window.onload = function() {  oDiv = document.getElementById('div1');  oDiv.onmousedown = fnDown;}function fnMove(ev) {  var ev = ev || event;  oDiv.style.left = ev.clientX - disX + 'px';  oDiv.style.top = ev.clientY - disY + 'px';}function fnUp() {  document.onmousemove = document.onmouseup = null;}function fnDown(ev) {  var ev = ev || event;  disX = ev.clientX - this.offsetLeft;  disY = ev.clientY - this.offsetTop;  document.onmousemove = fnMove;  document.onmouseup =fnUp;}</script></head><body>  <div id="div1"></div></body></html>

引用塊內容

<!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>面向對象的繼承-2</title><style>#div1 {width: 100px; height: 100px; background: red; position: absolute;}#div2 {width: 100px; height: 100px; background: red; position: absolute;top:120px;}</style><script>window.onload=function(){  new Drag('div1');  new Drag('div2');}function Drag(id) {  var _this=this;  this.disX=0;  this.disY=0;  this.oDiv = document.getElementById(id);  this.oDiv.onmousedown = function(){    _this.fnDown()  };}Drag.prototype.fnDown=function (ev) {  var ev = ev || event;  var _this=this;  this.disX = ev.clientX - this.oDiv.offsetLeft;  this.disY = ev.clientY - this.oDiv.offsetTop;  document.onmousemove = function(){    _this.fnMove();  };  document.onmouseup =function(){    _this.fnUp();  };}Drag.prototype.fnMove=function(ev) {  var ev = ev || event;  this.oDiv.style.left = ev.clientX - this.disX + 'px';  this.oDiv.style.top = ev.clientY - this.disY + 'px';}Drag.prototype.fnUp=function () {  document.onmousemove = null;  document.onmouseup = null}</script></head><body>  <div id="div1"></div>  <div id="div2"></div></body></html>
<!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>面向對象的繼承-2</title><style>#div1 {width: 100px; height: 100px; background: red; position: absolute;}#div2 {width: 100px; height: 100px; background: red; position: absolute;top:120px;}</style><script>window.onload=function(){  new Drag('div1');  new Drag('div2');}function Drag(id) {  var _this=this;  this.disX=0;  this.disY=0;  this.oDiv = document.getElementById(id);  this.oDiv.onmousedown = function(){    _this.fnDown()  };}Drag.prototype.fnDown=function (ev) {  var ev = ev || event;  var _this=this;  this.disX = ev.clientX - this.oDiv.offsetLeft;  this.disY = ev.clientY - this.oDiv.offsetTop;  document.onmousemove = function(){    _this.fnMove();  };  document.onmouseup =function(){    _this.fnUp();  };}Drag.prototype.fnMove=function(ev) {  var ev = ev || event;  this.oDiv.style.left = ev.clientX - this.disX + 'px';  this.oDiv.style.top = ev.clientY - this.disY + 'px';}Drag.prototype.fnUp=function () {  document.onmousemove = null;  document.onmouseup = null}</script></head><body>  <div id="div1"></div>  <div id="div2"></div></body></html>

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具http://tools.VeVB.COm/code/HtmlJsRun測試一下運行效果。

更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript頁面元素操作技巧總結》、《JavaScript操作DOM技巧總結》、《JavaScript切換特效與技巧總結》、《JavaScript動畫特效與技巧匯總》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》及《JavaScript數學運算用法總結

希望本文所述對大家JavaScript程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精美色品网站| 最新中文字幕亚洲| 国自在线精品视频| 日韩av电影手机在线| 欧美丝袜一区二区三区| 欧美重口另类videos人妖| 亚洲xxxx做受欧美| 久久综合伊人77777| 国内精品一区二区三区| 久久精品影视伊人网| 一区二区三区视频在线| 欧美日韩一区二区精品| 亚洲视频精品在线| 亚洲最大福利网站| 日韩中文字幕在线视频播放| 国产精品海角社区在线观看| xvideos成人免费中文版| 亚洲免费视频一区二区| 欧美丝袜美女中出在线| 国产亚洲精品久久久优势| 精品国内亚洲在观看18黄| 91精品在线播放| 国产日产亚洲精品| 久久69精品久久久久久国产越南| 91网站在线看| 欧美一级电影免费在线观看| 欧美在线亚洲在线| 国产69久久精品成人看| 中文字幕日韩电影| 91九色国产在线| 97香蕉超级碰碰久久免费软件| 成人久久一区二区| 日韩精品欧美国产精品忘忧草| 日韩欧美成人免费视频| 2019中文字幕在线免费观看| 97av在线视频免费播放| 国产精品久久久久久影视| 国产视频精品自拍| 懂色aⅴ精品一区二区三区蜜月| 久久久久国产精品www| 亚洲精品电影网在线观看| 尤物yw午夜国产精品视频| 97久久精品在线| 91成人在线播放| 米奇精品一区二区三区在线观看| 中文字幕少妇一区二区三区| 日韩电影在线观看中文字幕| 亚洲午夜小视频| 色综合久久中文字幕综合网小说| 国产成人久久精品| 日本精品免费一区二区三区| 国产精品第1页| 国产一区二区三区在线看| 亚洲人成在线电影| 久久亚洲综合国产精品99麻豆精品福利| 97久久精品国产| 最近中文字幕日韩精品| 欧美极品欧美精品欧美视频| 亚洲精品视频二区| 97视频在线观看免费| 日韩国产欧美区| 久久99精品久久久久久青青91| 日韩最新免费不卡| 日韩高清有码在线| 亚洲网在线观看| 亚洲天堂成人在线| 国产日韩精品综合网站| 在线观看欧美视频| 欧美激情女人20p| 精品视频www| 欧美老女人性视频| 这里只有精品在线观看| 色多多国产成人永久免费网站| 97欧美精品一区二区三区| 国产精品中文久久久久久久| 日韩精品中文字幕视频在线| 福利视频一区二区| 精品国产乱码久久久久酒店| 日韩精品中文在线观看| 久久影视三级福利片| 久久久www成人免费精品张筱雨| 中文字幕亚洲二区| 国产精品久久久久av免费| 亚洲一区二区三区乱码aⅴ蜜桃女| 欧美大人香蕉在线| 97精品国产97久久久久久| 亚洲乱亚洲乱妇无码| 国产69精品久久久久9| 免费99精品国产自在在线| 国产成人精品久久二区二区| 中文字幕在线观看日韩| 亚洲午夜精品视频| 91理论片午午论夜理片久久| 亚洲福利在线播放| 久久伊人精品一区二区三区| 国产午夜精品美女视频明星a级| 国产综合色香蕉精品| 国产美女91呻吟求| 中文字幕不卡在线视频极品| 国产精品久久久久久av| 日本道色综合久久影院| 国产精品香蕉国产| 亚洲男人第一网站| 亚洲国产欧美一区二区三区同亚洲| 成人免费淫片aa视频免费| 海角国产乱辈乱精品视频| 国产精品极品在线| 欧美成aaa人片在线观看蜜臀| 亚洲伊人久久综合| 国产亚洲精品美女久久久| 中文字幕亚洲欧美| 久久精品国产成人精品| 韩国精品久久久999| 色爱av美腿丝袜综合粉嫩av| 91精品视频免费观看| 久久躁日日躁aaaaxxxx| 欧美理论电影网| 成人精品视频99在线观看免费| 亚洲国产精品va在线观看黑人| 中文字幕精品一区久久久久| 91久久久久久久久| 美女啪啪无遮挡免费久久网站| 国产亚洲视频中文字幕视频| 亚洲成人xxx| 欧美激情亚洲综合一区| 欧美亚洲国产日韩2020| 欧美一级淫片videoshd| 一二美女精品欧洲| 日韩国产高清污视频在线观看| 国产精品免费电影| 欧美色图在线视频| 亚洲一区二区三区777| 一区二区三区回区在观看免费视频| 久久精品成人动漫| 136fldh精品导航福利| 国产一区二区在线免费| 亚洲欧洲xxxx| 7777精品久久久久久| 亚洲视频在线免费观看| 久久成人精品一区二区三区| 茄子视频成人在线| 亚洲国产精品va在线看黑人| 精品在线观看国产| 岛国视频午夜一区免费在线观看| 欧美夫妻性视频| 日韩欧美在线字幕| 国产欧美在线视频| 久久久999国产精品| 欧美日韩亚洲视频| 国内精品久久久久久影视8| 欧美性视频精品| 国产精品久久久久久久久久久久久| 午夜精品一区二区三区在线播放| 欧美激情亚洲另类| 青青青国产精品一区二区| 国内成人精品一区| 日韩电影第一页| 原创国产精品91| 国产性色av一区二区| 亚洲欧美福利视频| 日韩av电影免费观看高清| 亚洲乱码国产乱码精品精| 欧美日韩亚洲激情| 91社影院在线观看|