vue 懸浮框 可拖動

2022-06-26 05:15:16 字數 1650 閱讀 2896

效果圖:

首先是樣式布局:

class="

ys-float-btn

" :style="

"ref="

div"

@click ="

onbtnclicked

">

"icon

">

class="

su_img

" src="

../../../static/clouddisk/icon_qiye.svg

">

第二步首次進入頁面時,按鈕應該處於乙個初始位置。我們在created鉤子中進行初始化。

created(),
第三步,在寫乙個監聽事件

mounted());

div.addeventlistener(

"touchmove

",(e)=>

});div.addeventlistener(

"touchend

",()=>

else

});});

},

第四步,需要在popos裡面定義初始值:

props:,

itemheight:,

gapwidth:,

coefficientheight:

},

第五步在對methods進行處理:

methods:,

},

第六步在將created裡面拖動的left和top進行處理,完整**是這樣子的:

created(),
最後補充一點,我這邊因為需要,我將拖動的上下距離在mounted裡面做了判斷,讓他拖動的時候不會超出我的頭部的高度和底部的高度

mounted());

div.addeventlistener("touchmove",(e)=>

},false

);div.addeventlistener("touchend",(e)=>else

if(this.top<=36)

else

}});

});},

如果你們沒有頭部和底部高度可以隨意滾動就直接這樣子寫就行:

mounted());

div.addeventlistener(

"touchmove

",(e)=>

});div.addeventlistener(

"touchend

",()=>

else

});});

},

最後我直接就完整**:

class="

ys-float-btn

" :style="

"ref="

div"

@click ="

onbtnclicked

">

"icon

">

class="

su_img

" src="

../../../static/clouddisk/icon_qiye.svg

">

WindowManager實現懸浮可拖動效果

現在360手機衛士有個流量統計的效果,開啟流量統計後,在桌面上會出現乙個顯示流量的窗體,在任何介面都可以自由拖動。模仿這個功能,做了乙個統計手機訊號強度的demo,介面效果如下 從上面的截圖可以看出,當開啟手機訊號懸浮框後,預設在右上角會出現乙個小窗體 乙個圖示加上乙個訊號強度 這個窗體附在鎖屏上 ...

桌面懸浮視窗(可拖動)

一 開發前原理簡述 桌面懸浮視窗,如360的清理加速等懸浮按鈕 呼叫windowmanager,並設定windowmanager.layoutparams的相關屬性,通過windowmanager的addview方法建立view,這樣產生出來的view根據windowmanager.layoutpa...

懸浮框實現

專案1專案2 專案3乙個簡單的 是這麼建立的 專案value 電腦 1600 手機 12 導管 1 main.qml import qtquick 2.15 import qtquick.window 2.15 import window 初始化和顯示懸浮框 function initfloatin...