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

首頁 > 編程 > JavaScript > 正文

jQuery實現的鼠標拖動畫矩形框示例【可兼容IE8】

2019-11-19 11:32:22
字體:
來源:轉載
供稿:網友

本文實例講述了jQuery實現的鼠標拖動畫矩形框。分享給大家供大家參考,具體如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh" lang="zh"><head>  <title>鼠標拖動畫矩形</title>  <meta http-equiv="content-type" content="text/html;charset=utf-8">  <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>  <style type="text/css">    body, h1, h2, h3, h4, h5, h6, hr, p, blockquote, dl, dt, dd, ul, ol, li, pre, form, fieldset, legend, button, input, textarea, th, td {margin: 0;padding: 0}    html {color: #000;overflow-y: scoll;overflow: -moz-scrollbars-vertical}    #confirmingAppraisal {      position: relative;      left: 0;      top: 0;      margin: 0 auto;      padding: 0;      width: 800px;      min-height: 800px;      overflow: auto;      height: 1000px;      background-color: #e9e9e9;    }    .dashed-box {position: absolute;z-index: 9997; border: 1px dashed red; width: 0px; height: 0px;left: 0px; top: 0px; overflow: hidden;}    #moving_box {background-color: #0A90DB;}    .question-box {      position: absolute;      z-index: 9998;      /*background: red;*/      /* older safari/Chrome browsers */      -webkit-opacity: 0.8;      /* Netscape and Older than Firefox 0.9 */      -moz-opacity: 0.8;      /* Safari 1.x (pre WebKit!) 老式khtml內核的Safari瀏覽器*/      -khtml-opacity: 0.8;      /* IE9 + etc...modern browsers */      opacity: .8;      /* IE 4-9 */      filter: alpha(opacity=80);      /*This works in IE 8 & 9 too*/      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";      /*IE4-IE9*/      filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);    }    .question-border {z-index: 9999;border: 2px dashed red;overflow: hidden; }    .del-box {      width: 17px;      height: 17px;      float: right;      position: relative;      margin-top: 1px;      margin-right: 1px;      z-index: 99999999999;      background: url(del.png);    }  </style>  <script language="javascript">    window.onload = function() {      function stopDefault(e) {        if(e && e.preventDefault)          e.preventDefault();        else          window.event.returnValue = false;        return false;      }      function oBox() {        var wId = "w";        var index = 0;        var target = null;        var startX = 0, startY = 0;        var flag = false;        var startL = 0, startT = 0, boxHeight = 0, boxWidth = 0;        var boxObj = document.getElementById("confirmingAppraisal");        var frame = $("#confirmingAppraisal");        var referenceSize = {          "pos": frame.offset(),          "width": frame.outerWidth(),          "height": frame.outerHeight()        }        var newMarkPos = {          "left": startL,////按下時鼠標距離的左邊的距離          "top": startT////按下時鼠標距離的上邊的距離        }        //鼠標點擊        boxObj.onmousedown = function(e) {          flag = true;          var e = window.event || e;          target = e.target || e.srcElement; //獲取document 對象的引用          //e.pageY,e.pageX兼容          if(target.src) {            stopDefault(e)          }          var scrollTop = boxObj.scrollTop;          var scrollLeft = boxObj.scrollLeft;          var ePageX = e.clientX + scrollLeft;          var ePageY = e.clientY + scrollTop;          //按下時鼠標距離頁面的距離          startX = ePageX;          startY = ePageY;          //按下時鼠標距離的左邊和上邊的距離          startL = startX - referenceSize.pos.left;          startT = startY - referenceSize.pos.top;          index++;          // 如果鼠標在 box 上被按下          if(target.className.match(/del-box/i)) {            // 允許拖動            flag = false;            // 設置當前 box 的 id 為 moving_box            var movingBox = document.getElementById("moving_box")            if(movingBox !== null) {              movingBox.removeAttribute("id");            }            target.id = "moving_box";            removeBox(target);          } else {            var div = document.createElement("div");            div.id = wId + index;            div.className = "dashed-box";            boxObj.appendChild(div);            div = null;          }        }        //鼠標離開        boxObj.onmouseup = function(e) {          var e = window.event || e;          if(boxWidth >= 1 || boxHeight >= 1) {            boxObj.removeChild(dragBox(wId + index));            index++;            var div = document.createElement("div");            var spanObj = document.createElement("span");            spanObj.className = 'del-box';            div.appendChild(spanObj);            div.className = "question-box question-border";            div.style.left = newMarkPos.left + "px";            div.style.top = newMarkPos.top + "px";            div.style.width = boxWidth + "px";            div.style.height = boxHeight + "px";            boxObj.appendChild(div);            div = null;            boxWidth = 0;            boxHeight = 0;          } else {            if(flag) {              boxObj.removeChild(dragBox(wId + index));            }          }          flag = false;        }        //鼠標移動        boxObj.onmousemove = function(e) {          var e = window.event || e;          stopDefault(e)          if(flag) {            var scrollTop = boxObj.scrollTop;            var scrollLeft = boxObj.scrollLeft;            var ePX = e.clientX + scrollLeft;            var ePY = e.clientY + scrollTop;            var disW = ePX - startX;            var disH = ePY - startY;            var L = startL + disW;            var T = startT + disH;            if(disW > 0) {              if(L >= 0) {                boxWidth = disW              }              newMarkPos.left = startL;            } else {              if(L <= 0) {                L = 0;                boxWidth = startL;              }              boxWidth = (startL - L);              newMarkPos.left = L;            }            if(disH > 0) {              if(T >= 0) {                boxHeight = disH              }              newMarkPos.top = startT;            } else {              if(T <= 0) {                T = 0;                boxHeight = startT;              }              boxHeight = (startT - T)              newMarkPos.top = T;            }            dragBox(wId + index).style.left = newMarkPos.left + "px";            dragBox(wId + index).style.top = newMarkPos.top + "px";            dragBox(wId + index).style.width = Math.abs(boxWidth) + "px";            dragBox(wId + index).style.height = Math.abs(boxHeight) + "px";            stopDefault(e)          }        }        var dragBox = function(id) {          return document.getElementById(id);        }      };      oBox();      function removeBox(obj) {        if(obj) {          var confirmingAppraisal = document.getElementById('confirmingAppraisal');          if(obj.className == 'del-box') {            var objId = document.getElementById(obj.id);            confirmingAppraisal.removeChild(objId.parentNode);          } else {            alert(123)          }        }      };    }  </script></head><body style="overflow: hidden"><div class="confirming-appraisal">  <div id="confirmingAppraisal">    <img src="1.jpg" style="position: absolute;width: 1000px;height: 1600px;">  </div></div></body></html>

感興趣的朋友可以使用如下工具測試上述代碼運行效果:

在線HTML/CSS/JavaScript代碼運行工具:
http://tools.VeVB.COm/code/HtmlJsRun

在線HTML/CSS/JavaScript前端代碼調試運行工具:
http://tools.VeVB.COm/code/WebCodeRun

更多關于jQuery相關內容還可查看本站專題:《jQuery動畫與特效用法總結》、《jQuery切換特效與技巧總結》、《jQuery擴展技巧總結》、《jQuery常用插件及用法總結》、《jQuery拖拽特效與技巧總結》、《jQuery表格(table)操作技巧匯總》、《jQuery常見經典特效匯總》及《jquery選擇器用法總結

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美国产精品人人做人人爱| 在线性视频日韩欧美| 亚洲人成毛片在线播放| 国产精品福利久久久| 亚洲一区二区三区成人在线视频精品| 日韩女在线观看| 久久久久久久久综合| 久久99热精品这里久久精品| 成人免费在线网址| 国产91精品网站| 亚洲人成五月天| 欧美丝袜美女中出在线| 国产美女精品视频| 久热在线中文字幕色999舞| 久久久精品视频成人| 亚洲美女免费精品视频在线观看| 日韩欧美国产免费播放| 欧美区二区三区| 91精品久久久久久| 欧美美女15p| 久久亚洲精品一区二区| 亚洲一区二区中文字幕| 2019亚洲日韩新视频| 91美女片黄在线观看游戏| 欧美成人精品激情在线观看| 精品国产成人av| 国产精彩精品视频| 91久久精品日日躁夜夜躁国产| 伊人久久久久久久久久久| 欧美亚洲视频在线看网址| 92国产精品久久久久首页| 日韩电影视频免费| 38少妇精品导航| 97香蕉久久夜色精品国产| 精品国产一区av| 亚洲一区二区日本| 国产香蕉精品视频一区二区三区| 国产精品美女久久久免费| 欧美激情视频一区二区三区不卡| 最近2019中文免费高清视频观看www99| 亚洲男人的天堂在线播放| 成人免费网站在线观看| 自拍偷拍亚洲一区| 国产精品h在线观看| 91精品国产综合久久男男| 国产成人免费av电影| 欧美在线一级视频| 国产美女主播一区| 69国产精品成人在线播放| 91精品久久久久久久久久另类| 91在线视频九色| 国产欧美va欧美va香蕉在线| 欧美中文字幕精品| 97精品伊人久久久大香线蕉| 国产精品国产自产拍高清av水多| 成人精品视频在线| 久久人人爽人人爽人人片av高清| 欧美日韩亚洲一区二| 91精品国产综合久久久久久久久| 91精品在线一区| 日韩中文在线观看| 日本亚洲欧美三级| 欧美最猛性xxxxx免费| 亚洲精品国产拍免费91在线| 国产精品免费一区二区三区都可以| 日韩成人xxxx| 俺去啦;欧美日韩| 国产成人综合av| 精品久久中文字幕久久av| 国产精品毛片a∨一区二区三区|国| 中文字幕日韩在线视频| 日韩美女激情视频| 最新国产精品拍自在线播放| 亚洲人线精品午夜| 国产日韩在线观看av| 尤物99国产成人精品视频| 国产精品久久久久久久久久新婚| 国产亚洲精品成人av久久ww| 欧美在线性视频| 91在线视频免费| 亚洲男人天天操| 91精品成人久久| 亚洲aa在线观看| 欧美国产乱视频| 国产日韩中文字幕| 久久久久免费精品国产| 北条麻妃在线一区二区| 在线观看国产成人av片| 另类美女黄大片| 亚洲香蕉成人av网站在线观看| 91精品国产乱码久久久久久久久| 91精品国产自产91精品| 久久99久国产精品黄毛片入口| 国产精品久久久久不卡| 成人黄色影片在线| www.欧美精品一二三区| 91久久久久久| 国产主播欧美精品| 久久视频中文字幕| 少妇激情综合网| 最新中文字幕亚洲| 伊人亚洲福利一区二区三区| 精品视频在线播放免| 亚洲欧美变态国产另类| 国产伦精品免费视频| 国产福利精品在线| 97国产精品视频人人做人人爱| 国模极品一区二区三区| 日韩视频―中文字幕| 亚洲性夜色噜噜噜7777| 欧美另类在线播放| 国内精久久久久久久久久人| 米奇精品一区二区三区在线观看| 国内精品免费午夜毛片| 日本成人免费在线| 亚洲一区中文字幕在线观看| 91伊人影院在线播放| 欧美精品国产精品日韩精品| 国产盗摄xxxx视频xxx69| 668精品在线视频| 日韩电影在线观看永久视频免费网站| 国产精品久久久久久久午夜| 精品欧美aⅴ在线网站| 国产精品中文字幕在线观看| 国产日韩在线观看av| 国产99在线|中文| 中文字幕日韩在线视频| 国产精品久久久久久久久久久久| 欧美激情中文字幕在线| 97免费中文视频在线观看| 欧美巨大黑人极品精男| 韩国三级日本三级少妇99| 美女扒开尿口让男人操亚洲视频网站| 日韩av综合中文字幕| 久久久久久久久久久亚洲| 国产精品视频xxxx| 伊人久久男人天堂| 欧美猛少妇色xxxxx| 欧美一区二区三区精品电影| 日韩免费视频在线观看| 久久99精品久久久久久青青91| 成人妇女淫片aaaa视频| 欧美性猛交99久久久久99按摩| 久久中文字幕国产| 久久精品91久久久久久再现| 亚洲成人精品视频| 亚洲激情视频在线观看| 成人免费在线视频网站| 日韩在线欧美在线国产在线| 韩国福利视频一区| 91精品视频在线播放| 亚洲视频专区在线| 永久免费精品影视网站| 国内精品久久久久久中文字幕| 黑人巨大精品欧美一区免费视频| 国产精品美女www爽爽爽视频| 国产日本欧美一区二区三区在线| 精品亚洲一区二区三区在线播放| 亚洲精品第一页| 国产日韩欧美另类| 亚洲国产精品久久久久秋霞不卡| 欧美贵妇videos办公室| 国模吧一区二区| 欧美日韩国产精品一区二区三区四区|