最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue移動端寫的拖拽功能示例代碼

 更新時間:2020年09月09日 11:39:45   作者:谷歌研發(fā)技術(shù)團隊  
這篇文章主要介紹了vue移動端寫的拖拽功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

相關(guān)知識點

touchstart 當在屏幕上按下手指時觸發(fā)
touchmove 當在屏幕上移動手指時觸發(fā)
touchend 當在屏幕上抬起手指時觸發(fā)
mousedown mousemove mouseup對應(yīng)的是PC端的事件
touchcancel 當一些更高級別的事件發(fā)生的時候(如電話接入或者彈出信息)會取消當前的touch操作,即觸發(fā) touchcancel。一般會在touchcancel時暫停游戲、存檔等操作。

效果圖

在這里插入圖片描述

實現(xiàn)步驟html

總結(jié)了一下評論,好像發(fā)現(xiàn)大家都碰到了滑動的問題。就在這里提醒一下吧??蓪⒃搼腋?DIV 同你的 scroller web 同級。

<template>
	<div id="webId">
  	<div>你的web頁面</div>
	  <!-- 1.1 如果碰到滑動問題,請檢查這里是否屬于同一點。 -->
	  <!-- 懸浮的HTML -->
	  <div class="xuanfu" id="moveDiv"
	   @mousedown="down()" @touchstart="down()"
	   @mousemove.prevent.stop="move()"
     @touchmove.prevent.stop="move()"
	   @mouseup="end()" @touchend="end()"
	  >
	   <div class="yuanqiu">11</div>
	  </div>
	</div>
</template>

js

<script>
data() {
 return {
  flags: false,
  position: { x: 0, y: 0 },
  nx: '', ny: '', dx: '', dy: '', xPum: '', yPum: '',
 }
}

methods: {
 // 實現(xiàn)移動端拖拽
 down(){
  this.flags = true;
  let touch;
  if(event.touches){
    touch = event.touches[0];
  }else {
    touch = event;
  }
  this.position.x = touch.clientX;
  this.position.y = touch.clientY;
  this.dx = moveDiv.offsetLeft;
  this.dy = moveDiv.offsetTop;
 },
 move(){
  if(this.flags){
   let touch ;
   if(event.touches){
     touch = event.touches[0];
   }else {
     touch = event;
   }
   this.nx = touch.clientX - this.position.x;
   this.ny = touch.clientY - this.position.y;
   this.xPum = this.dx+this.nx;
   this.yPum = this.dy+this.ny;
   //添加限制:只允許在屏幕內(nèi)拖動
	 const maxWidth = document.body.clientWidth - 54;//屏幕寬度減去懸浮框?qū)捀?
	 const maxHeight = document.body.clientHeight - 54;
	 if (this.xPum < 0) { //屏幕x限制
		this.xPum = 0;
	 } else if (this.xPum>maxWidth) {
	  this.xPum = maxWidth;
	 }
	 if (this.yPum < 0) { //屏幕y限制
		this.yPum = 0;
	 } else if (this.yPum>maxHeight) {
		this.yPum = maxHeight;
	 }
   moveDiv.style.left = this.xPum+"px";
   moveDiv.style.top = this.yPum +"px";
   //阻止頁面的滑動默認事件
   document.addEventListener("touchmove",function(){ // 1.2 如果碰到滑動問題,請注意是否獲取到 touchmove
     event.preventDefault();//jq 阻止冒泡事件
     // event.stopPropagation(); // 如果沒有引入jq 就用 stopPropagation()
   },false);
  }
 },
//鼠標釋放時候的函數(shù)
 end(){
  this.flags = false;
 },
}
</script>

css

<style>
 /*css樣式可自定義 僅提供參考*/
 #webId { position: relative; }
 .xuanfu {
  height: 54px; /* rem = 12px */
  width: 54px;
  /*1.3 如果碰到滑動問題,請檢查 z-index。z-index需比web大一級*/
  z-index: 999;
  position: fixed;
  top: 4.2rem;
  right: 3.2rem;
  border-radius: 0.8rem;
  background-color: rgba(0, 0, 0, 0.55);
 }
 .yuanqiu {
  height: 2.7rem;
  width: 2.7rem;
  border: 0.3rem solid rgba(140, 136, 136, 0.5);
  margin: 0.65rem auto;
  color: #000000;
  font-size: 1.6rem;
  line-height: 2.7rem;
  text-align: center;
  border-radius: 100%;
  background-color: #ffffff;
 }
</style>

總結(jié)

到此這篇關(guān)于vue移動端寫的拖拽功能示例代碼的文章就介紹到這了,更多相關(guān)vue移動端拖拽內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 前端之vue3使用WebSocket的詳細步驟

    前端之vue3使用WebSocket的詳細步驟

    websocket實現(xiàn)的全雙工通信,真真太香了,下面這篇文章主要給大家介紹了關(guān)于前端之vue3使用WebSocket的詳細步驟,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-11-11
  • ElementUI中利用table表格自定義表頭Tooltip文字提示

    ElementUI中利用table表格自定義表頭Tooltip文字提示

    這篇文章主要介紹了ElementUI中利用table表格自定義表頭Tooltip文字提示,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • vue.js計算屬性computed用法實例分析

    vue.js計算屬性computed用法實例分析

    這篇文章主要介紹了vue.js計算屬性computed用法,結(jié)合實例形式分析了vue.js使用computed方式進行屬性計算的相關(guān)操作技巧,需要的朋友可以參考下
    2018-07-07
  • Vue中textarea自適應(yīng)高度方案的實現(xiàn)

    Vue中textarea自適應(yīng)高度方案的實現(xiàn)

    本文主要介紹了Vue中textarea自適應(yīng)高度方案的實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • vue+moment實現(xiàn)倒計時效果

    vue+moment實現(xiàn)倒計時效果

    這篇文章主要為大家詳細介紹了vue+moment實現(xiàn)倒計時效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • 淺談Vue使用Elementui修改默認的最快方法

    淺談Vue使用Elementui修改默認的最快方法

    這篇文章主要介紹了淺談Vue使用Elementui修改默認的最快方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • vue中實現(xiàn)展示與隱藏側(cè)邊欄功能

    vue中實現(xiàn)展示與隱藏側(cè)邊欄功能

    這篇文章主要介紹了vue中實現(xiàn)展示與隱藏側(cè)邊欄功能,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • Vue3單擊新增添加新的input的方法

    Vue3單擊新增添加新的input的方法

    這篇文章主要介紹了Vue3單擊新增添加新的input,本文結(jié)合示例代碼給大家介紹的非常詳細,對大家的學(xué)習或工作具有一定的參考借鑒價值,文中補充介紹了Vue動態(tài)綁定、添加input,需要的朋友可以參考下
    2023-01-01
  • 淺談VUE中演示v-for為什么要加key

    淺談VUE中演示v-for為什么要加key

    這篇文章主要介紹了淺談VUE中演示v-for為什么要加key,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2020-01-01
  • vue管理系統(tǒng)項目中的一些核心技能匯總

    vue管理系統(tǒng)項目中的一些核心技能匯總

    Vue是當今增長最快的前端框架,Vue 平易近人、用途廣泛且性能卓越,它的語法非常直觀,并且具有友好的學(xué)習曲線,是開發(fā)人員最想學(xué)習的頂級前端庫之一,下面這篇文章主要給大家介紹了關(guān)于vue管理系統(tǒng)項目中的一些核心技能,需要的朋友可以參考下
    2022-05-05

最新評論

郸城县| 宁远县| 永吉县| 大足县| 潼关县| 秦皇岛市| 长治县| 栖霞市| 财经| 安远县| 新巴尔虎右旗| 沛县| 中卫市| 乌鲁木齐市| 闽侯县| 顺昌县| 南川市| 溆浦县| 开封县| 万宁市| 高陵县| 连江县| 新民市| 贵南县| 南涧| 平乐县| 调兵山市| 卢龙县| 彝良县| 平原县| 文水县| 壶关县| 潜江市| 普洱| 开封县| 广州市| 射阳县| 鹤山市| 通城县| 澜沧| 贞丰县|