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

vue實現(xiàn)拖拽小圖標

 更新時間:2022年03月04日 17:42:39   作者:祎祎呀  
這篇文章主要為大家詳細介紹了vue實現(xiàn)拖拽小圖標,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

如何給vue項目里面寫拖拽懸浮小圖標呢,供大家參考,具體內(nèi)容如下

首先

1、html文件 一定要給父盒子一個ID

<div
? ? ? class="xuanfu"
? ? ? id="moveDiv"
? ? ? @mousedown="down()"
? ? ? @touchstart="down()"
? ? ? @mousemove.prevent.stop="move()"
? ? ? @touchmove.prevent.stop="move()"
? ? ? @mouseup="end()"
? ? ? @touchend="end()"
? ? >
? ? ? <img class="img-kf" src="../../assets/images/csVip/kf.png" />
</div>

2、在data里面設置

position: { x: 0, y: 0 },
? ? ? nx: "",
? ? ? ny: "",
? ? ? dx: "",
? ? ? dy: "",
? ? ? xPum: "",
? ? ? yPum: "",

3、在方法里面寫拖拽方法

//移動端拖拽事件
? ? 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)拖動

? ? ? ? //屏幕寬度減去懸浮框?qū)捀?
? ? ? ? const maxWidth = document.body.clientWidth - 54;
? ? ? ? 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;
? ? },

4、css樣式

.xuanfu {
? ? width: 1.7rem;
? ? height: 1.7rem;
? ? border-radius: 50%;
? ? // background: rgb(213, 91, 91);
? ? position: fixed;

? ? bottom: 4rem;
? ? right: 0.4rem;
? ? z-index: 9999999999;
? ? text-align: center;

? ? .img-kf {
? ? ? width: 1.7rem;
? ? ? height: 1.7rem;
? ? }
? }

到這里,我們的懸浮小圖標就做完了。

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

相關文章

  • Element Table 自適應高度的實現(xiàn)示例

    Element Table 自適應高度的實現(xiàn)示例

    el-table的高度不能適應不同電腦的分辨率,也不能跟隨瀏覽器的高度變化而變化的問題,本文就來解決一下Element Table 自適應高度,感興趣的可以了解一下
    2024-07-07
  • vue3如何定義變量及ref、reactive、toRefs特性說明

    vue3如何定義變量及ref、reactive、toRefs特性說明

    這篇文章主要介紹了vue3如何定義變量及ref、reactive、toRefs特性說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Vue3的路由傳參方法超全匯總

    Vue3的路由傳參方法超全匯總

    vue路由傳參的使用場景一般都是應用在父路由跳轉(zhuǎn)到子路由時,攜帶參數(shù)跳轉(zhuǎn),下面這篇文章主要給大家介紹了關于Vue3路由傳參方法的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-04-04
  • Vue.js展示AJAX數(shù)據(jù)簡單示例講解

    Vue.js展示AJAX數(shù)據(jù)簡單示例講解

    當通過AJAX方式取回數(shù)據(jù)后,使用vue.js可以完美地按一定邏輯在頁面上的展示數(shù)據(jù),代碼簡單、優(yōu)美、自然,而且便于與在用的頁面框架集成,本文給大家介紹Vue.js展示AJAX數(shù)據(jù)簡單示例
    2017-03-03
  • Vue中axios的封裝(報錯、鑒權、跳轉(zhuǎn)、攔截、提示)

    Vue中axios的封裝(報錯、鑒權、跳轉(zhuǎn)、攔截、提示)

    這篇文章主要介紹了Vue中axios的封裝(報錯、鑒權、跳轉(zhuǎn)、攔截、提示),本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-08-08
  • 淺析vue偵測數(shù)據(jù)的變化之基本實現(xiàn)

    淺析vue偵測數(shù)據(jù)的變化之基本實現(xiàn)

    這里涉及到Vue一個重要特性:響應式系統(tǒng)。數(shù)據(jù)模型只是普通的 JavaScript對象,當我們修改時,視圖會被更新,而變化偵測是響應式系統(tǒng)的核心
    2021-06-06
  • vue組件間通信全面講解

    vue組件間通信全面講解

    這篇文章主要介紹了vue組件間通信全面講解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • 基于Vue 和 iView分片上傳功能實現(xiàn)(上傳組件)

    基于Vue 和 iView分片上傳功能實現(xiàn)(上傳組件)

    本文介紹了基于Vue和iView的文件分片上傳技術,通過將文件拆分成多個小塊并逐塊上傳,解決了大文件上傳時的諸多問題,如上傳速度慢、超時和網(wǎng)絡中斷等,它還展示了如何實現(xiàn)分片上傳的進度顯示、錯誤處理和斷點續(xù)傳等功能,感興趣的朋友跟隨小編一起看看吧
    2025-01-01
  • Vue實現(xiàn)動態(tài)響應數(shù)據(jù)變化

    Vue實現(xiàn)動態(tài)響應數(shù)據(jù)變化

    本篇文章主要介紹了Vue 動態(tài)響應數(shù)據(jù)變化,通過綁定數(shù)據(jù)即可以實時改變視圖顯示,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-04-04
  • vue3+elementui-plus實現(xiàn)一個接口上傳多個文件功能

    vue3+elementui-plus實現(xiàn)一個接口上傳多個文件功能

    這篇文章主要介紹了vue3+elementui-plus實現(xiàn)一個接口上傳多個文件,先使用element-plus寫好上傳組件,然后假設有個提交按鈕,點擊上傳文件請求接口,本文結合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2023-07-07

最新評論

会宁县| 衡阳市| 新源县| 高台县| 汉寿县| 永宁县| 五大连池市| 沂源县| 临潭县| 改则县| 兴宁市| 昭苏县| 泸定县| 龙山县| 德令哈市| 大同县| 乌什县| 三台县| 鲁甸县| 内乡县| 体育| 射洪县| 阿尔山市| 宣武区| 上林县| 吴忠市| 全椒县| 交口县| 吉安市| 东莞市| 尤溪县| 乌鲁木齐县| 南充市| 东乡| 石门县| 嘉峪关市| 庐江县| 夏津县| 凉山| 门头沟区| 讷河市|