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

vue實(shí)現(xiàn)可移動(dòng)的懸浮按鈕

 更新時(shí)間:2021年03月04日 08:11:46   作者:丟失的藍(lán)胖子  
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)可移動(dòng)的懸浮按鈕,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了vue實(shí)現(xiàn)可隨處移動(dòng)懸浮按鈕的具體代碼,供大家參考,具體內(nèi)容如下

1.html代碼

<div
 class="callback float"
 @click="onClick"
 @mousedown="down"
 @touchstart="down"
 @mousemove="move"
 @touchmove="move"
 @mouseup="end"
 @touchend="end"
 ref="fu"
 >
 <!-- <p @click="callback">返回</p> -->
 <img @click="callback" src="@/assets/images/callbs.jpg" alt />
</div>

2.再data中定義

data() {
 return {
  isLoading: false,
  flags: false, //控制使用
  position: {
  x: 0,
  y: 0,
  },
  nx: "",
  ny: "",
  dx: "",
  dy: "",
  xPum: "",
  yPum: "",
 };
 },

3.js代碼

methods: {
 callback() {
  this.$router.go(-1);
 },
 onRefresh() {
  // window.location.reload();
  setTimeout((res) => {
  console.log(res);
  this.isLoading = false;
  }, 1000);
 },
 down() {
  this.flags = true;
  var touch;
  if (event.touches) {
  touch = event.touches[0];
  } else {
  touch = event;
  }
  this.position.x = touch.clientX;
  this.position.y = touch.clientY;
  this.dx = this.$refs.fu.offsetLeft;
  this.dy = this.$refs.fu.offsetTop;
 },
 move() {
  if (this.flags) {
  var 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;
  let width = window.innerWidth - this.$refs.fu.offsetWidth; //屏幕寬度減去自身控件寬度
  let height = window.innerHeight - this.$refs.fu.offsetHeight; //屏幕高度減去自身控件高度
  this.xPum < 0 && (this.xPum = 0);
  this.yPum < 0 && (this.yPum = 0);
  this.xPum > width && (this.xPum = width);
  this.yPum > height && (this.yPum = height);
  // if (this.xPum >= 0 && this.yPum >= 0 && this.xPum<= width &&this.yPum<= height) {
  this.$refs.fu.style.left = this.xPum + "px";
  this.$refs.fu.style.top = this.yPum + "px";
  // }
  //阻止頁面的滑動(dòng)默認(rèn)事件
  document.addEventListener(
   "touchmove",
   function () {
   event.preventDefault();
   },
   false
  );
  }
 },
 //鼠標(biāo)釋放時(shí)候的函數(shù)
 end() {
  this.flags = false;
 },
 onClick() {
  //在這里我是作為子組件來使用的
  this.$emit("click");
 },
 },

4.style樣式

<style scoped>
.callback p {
 font-size: 16px;
 color: #fff;
 background: rgba(56, 57, 58, 0.5);
 border-radius: 50%;
 text-align: center;
 width: 50px;
 height: 50px;
 line-height: 50px;
 font-family: PingFang SC;
 font-weight: 600;
 box-shadow: 0 0 10px #fff;
}
.callback img {
 display: block;
 width: 50px;
 height: 50px;
 box-shadow: 0 0 10px rgb(133, 129, 129);
 border-radius: 50%;
 background: #fff;
}
.callback {
 position: fixed;
 top: 40px;
 left: 20px;
 z-index: 99999;
}
.float {
 position: fixed;
 right: 20px;
 top: 60%;
 touch-action: none;
 text-align: center;
 width: 50px;
 height: 50px;
 border-radius: 24px;
 line-height: 48px;
 color: white;
}
</style>

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

相關(guān)文章

  • 基于vue的fullpage.js單頁滾動(dòng)插件

    基于vue的fullpage.js單頁滾動(dòng)插件

    這篇文章主要為大家詳細(xì)介紹了基于vue的fullpage.js單頁滾動(dòng)插件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • vue中修改瀏覽器圖標(biāo)和名字的幾種方式

    vue中修改瀏覽器圖標(biāo)和名字的幾種方式

    當(dāng)針對(duì)不同客戶需要提供不同的圖標(biāo)時(shí),頁面其他圖標(biāo)好替換,但是網(wǎng)頁圖標(biāo)就不太一樣了,下面這篇文章主要給大家介紹了關(guān)于vue中修改瀏覽器圖標(biāo)和名字的幾種方式,需要的朋友可以參考下
    2022-10-10
  • vue監(jiān)聽對(duì)象及對(duì)象屬性問題

    vue監(jiān)聽對(duì)象及對(duì)象屬性問題

    這篇文章主要介紹了vue監(jiān)聽對(duì)象及對(duì)象屬性問題,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-08-08
  • vue3 數(shù)組清空與重新賦值的操作代碼

    vue3 數(shù)組清空與重新賦值的操作代碼

    這篇文章主要介紹了vue3 數(shù)組清空與重新賦值的操作代碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-09-09
  • element plus tree拖動(dòng)節(jié)點(diǎn)交換位置和改變層級(jí)問題(解決方案)

    element plus tree拖動(dòng)節(jié)點(diǎn)交換位置和改變層級(jí)問題(解決方案)

    圖層list里有各種組件,用element plus的tree來渲染,可以把圖片等組件到面板里,面板是容器,非容器組件,比如圖片、文本等,就不能讓其他組件拖進(jìn)來,這篇文章主要介紹了element plus tree拖動(dòng)節(jié)點(diǎn)交換位置和改變層級(jí)問題(解決方案),需要的朋友可以參考下
    2024-04-04
  • Vue中點(diǎn)擊url下載文件的案例詳解

    Vue中點(diǎn)擊url下載文件的案例詳解

    這篇文章主要介紹了Vue中點(diǎn)擊url下載文件案例詳解,此文需要注意若是文件的url存在跨域的情況,則可能會(huì)下載失敗,因?yàn)閒etch請求連接后,由于跨域,拿不到資源,也就無法執(zhí)行后續(xù)的操作,此時(shí)是失敗的,詳細(xì)內(nèi)容跟隨小編一起看看吧
    2022-04-04
  • 如何實(shí)現(xiàn)vue的tree組件

    如何實(shí)現(xiàn)vue的tree組件

    這篇文章主要介紹了如何實(shí)現(xiàn)vue的tree組件,幫助大家更好的理解和學(xué)習(xí)vue框架,感興趣的朋友可以了解下
    2020-12-12
  • vue+elementUi中的table實(shí)現(xiàn)跨頁多選功能(示例詳解)

    vue+elementUi中的table實(shí)現(xiàn)跨頁多選功能(示例詳解)

    最近在開發(fā)工業(yè)品超市的后臺(tái)系統(tǒng),遇到一個(gè)需求,就是實(shí)現(xiàn)在一個(gè)table表格中多選數(shù)據(jù),在網(wǎng)上查了好多,有些方法真的是無語,下面通過本文給大家分享vue+elementUi中的table實(shí)現(xiàn)跨頁多選功能,感興趣的朋友跟隨小編一起看看吧
    2024-05-05
  • vscode中eslint配置保存自動(dòng)修復(fù)代碼示例詳解

    vscode中eslint配置保存自動(dòng)修復(fù)代碼示例詳解

    vscode根據(jù)eslint保存?動(dòng)修復(fù)配置,下面這篇文章主要給大家介紹了關(guān)于vscode中eslint配置保存自動(dòng)修復(fù)代碼的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • Vue 組件如何模塊化抽離Props

    Vue 組件如何模塊化抽離Props

    這篇文章主要介紹了Vue 組件如何模塊化抽離Props的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2023-11-11

最新評(píng)論

桂东县| 洮南市| 北安市| 浪卡子县| 资兴市| 泾阳县| 丽江市| 城步| 八宿县| 百色市| 缙云县| 宁都县| 吉林省| 万山特区| 蒙自县| 汤阴县| 滨海县| 板桥市| 芒康县| 喀喇沁旗| 临颍县| 洛扎县| 页游| 邵武市| 和政县| 四子王旗| 临邑县| 瓦房店市| 玉溪市| 临邑县| 吴江市| 萍乡市| 商洛市| 确山县| 象山县| 高碑店市| 顺昌县| 绿春县| 孙吴县| 沅陵县| 饶平县|