亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

vue實現(xiàn)拖拽效果

 更新時間:2019年12月23日 11:38:16   作者:webopenfather  
這篇文章主要為大家詳細介紹了vue實現(xiàn)拖拽效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

vue中實現(xiàn)拖拽效果,供大家參考,具體內(nèi)容如下

首先要搞明白分清clientY pageY screenY layerY offsetY的區(qū)別

作用3(事件對象中記錄的鼠標位置)

語法 解釋

evt.screenX 相對于屏幕的左上角為原點
evt.screenY

evt.clientX 相對于瀏覽器的客戶端左上角為原點(不計算滾動條位置)
evt.clientY

evt.pageX 相對于瀏覽器的客戶端左上角為原點(計算滾動條的位置)
evt.pageY

evt.offsetX 以自己的左上角為原點
evt.offsetY

evt.pageY/evt.pageX 相當于文檔的左上角為原點,即包括被被隱藏的距離;

evt.clientY/evt.clientX 相當于瀏覽器可視窗口的左上角為原點,即不包括被被隱藏的距離;

實現(xiàn)拖拽功能

<style>
 #app{
 position: relative; /*定位*/
 top: 10px;
 left: 10px;
 width: 200px;
 height: 200px;
 background: #666; /*設(shè)置一下背景*/
 }
</style>
<body>
 <div id="app" @mousedown="move"> <!--綁定按下事件-->
 {{positionX}}
 {{positionY}}
 </div>
</body>
//main.js
let app = new Vue({
 el:'#app',
 data:{
 positionX:0,
 positionY:0,
 },
 methods:{
 move(e){
  let odiv = e.target; //獲取目標元素
  
  //算出鼠標相對元素的位置
  let disX = e.clientX - odiv.offsetLeft;
  let disY = e.clientY - odiv.offsetTop;
  document.onmousemove = (e)=>{ //鼠標按下并移動的事件
  //用鼠標的位置減去鼠標相對元素的位置,得到元素的位置
  let left = e.clientX - disX; 
  let top = e.clientY - disY;
   
  //綁定元素位置到positionX和positionY上面
  this.positionX = top;
  this.positionY = left;
   
  //移動當前元素
  odiv.style.left = left + 'px';
  odiv.style.top = top + 'px';
  };
  document.onmouseup = (e) => {
  document.onmousemove = null;
  document.onmouseup = null;
  };
 } 
 
 },
 computed:{},
});

當然,我們可以將它綁定為一個自定義指令,這樣的話就可以用調(diào)用指令的形式來實現(xiàn)拖拽效果,下面是定義自定義指令的代碼

在main.js中定義全局指令

Vue.directive('drag'
 drag: {
  // 指令的定義
  bind(el) {
  let odiv = el; //獲取當前元素
  oDiv.onmousedown = (e) => {
   //算出鼠標相對元素的位置
   let disX = e.clientX - odiv.offsetLeft;
   let disY = e.clientY - odiv.offsetTop;
   
   document.onmousemove = (e)=>{
   //用鼠標的位置減去鼠標相對元素的位置,得到元素的位置
   let left = e.clientX - disX; 
   let top = e.clientY - disY;
   
   if(left<3) {
    left=0;
    odiv.style.width="2px";
   }else{odiv.style.width="auto";}
   if(left>innerWidth-odiv.offsetWidth) {left=innerWidth- odiv.offsetWidth;odiv.style.width="2px";}
   
   //移動當前元素
   odiv.style.left = left + 'px';
   odiv.style.top = top + 'px';
   };
   document.onmouseup = (e) => {
   document.onmousemove = null;
   document.onmouseup = null;
   };
   }
 }
});

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 基于vue中解決v-for使用報紅并出現(xiàn)警告的問題

    基于vue中解決v-for使用報紅并出現(xiàn)警告的問題

    下面小編就為大家分享一篇基于vue中解決v-for使用報紅并出現(xiàn)警告的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • Vue 同步異步存值取值實現(xiàn)案例

    Vue 同步異步存值取值實現(xiàn)案例

    這篇文章主要介紹了Vue 同步異步存值取值實現(xiàn)案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • Vue項目打包、合并及壓縮優(yōu)化網(wǎng)頁響應(yīng)速度

    Vue項目打包、合并及壓縮優(yōu)化網(wǎng)頁響應(yīng)速度

    網(wǎng)站頁面的響應(yīng)速度與用戶體驗息息相關(guān),直接影響到用戶是否愿意繼續(xù)訪問你的網(wǎng)站,所以這篇文章主要給大家介紹了關(guān)于Vue項目打包、合并及壓縮優(yōu)化網(wǎng)頁響應(yīng)速度的相關(guān)資料,需要的朋友可以參考下
    2021-07-07
  • Element?el-date-picker?日期選擇器的使用

    Element?el-date-picker?日期選擇器的使用

    本文主要介紹了Element?el-date-picker?日期選擇器的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-04-04
  • vue+echarts實現(xiàn)多條折線圖

    vue+echarts實現(xiàn)多條折線圖

    這篇文章主要為大家詳細介紹了vue+echarts實現(xiàn)多條折線圖,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • vue 項目常用加載器及配置詳解

    vue 項目常用加載器及配置詳解

    本文介紹了vue 項目常用加載器及配置詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01
  • Vue3學習之事件處理詳解

    Vue3學習之事件處理詳解

    Vue事件處理是每個Vue項目的必要方面。 它用于捕獲用戶輸入,共享數(shù)據(jù)以及許多其他創(chuàng)造性方式。本文將通過簡單的示例為大家講解了Vue3中事件處理的使用,需要的可以參考一下
    2022-12-12
  • vue進入頁面加載數(shù)據(jù)緩慢實現(xiàn)loading提示過程

    vue進入頁面加載數(shù)據(jù)緩慢實現(xiàn)loading提示過程

    這篇文章主要介紹了vue進入頁面加載數(shù)據(jù)緩慢實現(xiàn)loading提示過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • vue對象復(fù)制方式(深拷貝,多層對象拷貝方式在后面)

    vue對象復(fù)制方式(深拷貝,多層對象拷貝方式在后面)

    這篇文章主要介紹了vue對象復(fù)制方式(深拷貝,多層對象拷貝方式在后面),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • vue自適應(yīng)布局postcss-px2rem詳解

    vue自適應(yīng)布局postcss-px2rem詳解

    這篇文章主要介紹了vue自適應(yīng)布局(postcss-px2rem)的相關(guān)知識,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2022-05-05

最新評論