国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

基于Vue實現拖拽功能

2019-11-19 13:57:28
字體:
來源:轉載
供稿:網友

本文實例為大家分享了Vue實現拖拽功能的具體代碼,供大家參考,具體內容如下

效果圖:

HTML代碼:

<div id="box">                             位置  <br>x:{{val.x}} <br>y:{{val.y}}  <div v-drag="greet" id="drag" :style="style">  //注意這里要通過指令綁定函數將當前元素的位置數據傳出來  </div></div>

JS代碼:

Vue.directive('drag',//自定義指令                       {bind:function (el, binding) {        let oDiv = el;  //當前元素        let self = this; //上下文        oDiv.onmousedown = function (e) {         //鼠標按下,計算當前元素距離可視區的距離          let disX = e.clientX - oDiv.offsetLeft;          let disY = e.clientY - oDiv.offsetTop;          document.onmousemove = function (e) {           //通過事件委托,計算移動的距離             let l = e.clientX - disX;            let t = e.clientY - disY;           //移動當前元素             oDiv.style.left = l + 'px';            oDiv.style.top = t + 'px';             //將此時的位置傳出去            binding.value({x:e.pageX,y:e.pageY})          };          document.onmouseup = function (e) {                      document.onmousemove = null;            document.onmouseup = null;           };        };      }    }  );  window.onload = function () {    let vm = new Vue({      el: '#box',      data: {        val: '123',        style: {          width: '100px',          height: '100px',          background: 'aqua',          position: 'absolute',          right: '30px',          top: 0        }      },      methods:{      //接受傳來的位置數據,并將數據綁定給data下的val        greet(val){          vm.val = val;        }      } ,   });  }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 奈曼旗| 阳泉市| 合江县| 涿州市| 朔州市| 化德县| 稻城县| 北辰区| 威远县| 辉县市| 信阳市| 永仁县| 蓬莱市| 普兰县| 汾西县| 宁明县| 河南省| 南皮县| 吴堡县| 蕲春县| 东丽区| 虞城县| 锦州市| 塘沽区| 阿坝| 天峻县| 绥宁县| 辉县市| 青阳县| 赫章县| 吕梁市| 湄潭县| 丰城市| 孟村| 如皋市| 庆城县| 黎平县| 济源市| 乳山市| 尚义县| 泗水县|