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

首頁 > 編程 > JavaScript > 正文

vue模塊拖拽實現示例代碼

2019-11-19 12:00:56
字體:
來源:轉載
供稿:網友

正巧在之前面試中遇到問實現拖拽效果

當時面試的時候簡單回答了實現的方式與邏輯。

現在閑來無事,把這個東西實現了一下。

原理很簡單,寫的很方便。

數據驅動,建立一個數組,數組初始長度為1

拖動觸發時,添加一個對象到數組中,拖動的是下標為0的對象,新建的還在原來位置放著,等待下次拖動。

話不多說,上代碼

<template>  <div class="view">   <div class="x" @mousedown="move($event,index)" v-for="(x,index) in i">    <span v-if="index+1 !== i.length">{{index+1}}</span>    <input v-model="x.input">   </div>   {{i}}  </div></template><script>  export default {    name: "index",   data(){     return{      positionX:0,      positionY:0,      i:[       {input:''}      ]     }   },   methods:{     move(e,x){      let odiv = e.target;    //獲取目標元素      //算出鼠標相對元素的位置      let disX = e.clientX - odiv.offsetLeft;      let disY = e.clientY - odiv.offsetTop;      let flag = true;      document.onmousemove = (e)=>{    //鼠標按下并移動的事件       if(flag && x === this.i.length-1){        flag = false;        this.i.push({input:''})       }       //用鼠標的位置減去鼠標相對元素的位置,得到元素的位置       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;      };     }   }  }</script><style scoped lang="less"> .view{  position: absolute;  top: 0;  bottom: 0;  left: 0;  right: 0;  background: #f8f8f8;  .x{   width: 250px;   height: 50px;   top: 50px;   left: 10px;   position: absolute;   background: red;   color: yellow;  } }</style>

一個簡單的demo,后續用的話可以再豐富,比如以拖動長度來觸發事件。

input可以換成子組件。這里提供分享一個底層的實現方式

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 台北县| 西丰县| 新疆| 芒康县| 广德县| 东莞市| 正蓝旗| 晴隆县| 普宁市| 阿合奇县| 广元市| 繁峙县| 南江县| 白水县| 英吉沙县| 深州市| 平昌县| 土默特左旗| 翁源县| 辉南县| 尼玛县| 辽源市| 新安县| 廊坊市| 淮阳县| 崇明县| 靖边县| 浦城县| 苍南县| 叶城县| 库尔勒市| 前郭尔| 堆龙德庆县| 乐山市| 运城市| 巍山| 景洪市| 新田县| 平顺县| 金川县| 汕头市|