日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Vue實現仿iPhone懸浮球的示例代碼

瀏覽:197日期:2023-01-31 13:18:10

懸浮球插件簡單的效果圖:

很遺憾,沒找到太好的視頻轉gif的軟件,壓縮出來的大小超過了限制,就不放圖了

可以參考其他人的圖,效果一致:

Vue實現仿iPhone懸浮球的示例代碼

簡單實用案例:

<!-- 給定一個初始位置position,插槽中填寫想滑動的部分 --><xuanfuqiu :position='position'><d-add-button @click='addPigFarm' add-item='豬場'></d-add-button></xuanfuqiu>

原理示意圖

請結合代碼注釋來理解

Vue實現仿iPhone懸浮球的示例代碼

懸浮球插件代碼如下:

<template> <div> <div : @mousedown='down' @touchstart='down' @mousemove='move' @touchmove='move' @mouseup='end' @touchend='end'> <slot></slot> </div> </div></template><script>export default { name: '', components: {}, props: { // 通過position來設置初始定位 position: { type: Object, default: function() {return { top: '32.25rem', left: '18.34375rem'} } }, // 通過fixed來禁用自由移動 fixed: { type: Boolean, default: false } }, data() { return { flags: false, positionTemp: { x: 0, y: 0 }, // 記錄手指點擊的位置 nx: ’’, ny: ’’, dx: ’’, dy: ’’, xPum: ’’, yPum: ’’, } }, watch: {}, computed: {}, methods: { // 實現移動端拖拽 down(){ if (this.fixed) {return } this.flags = true; var touch; // 該if判斷是用touch還是mouse來移動 if (event.touches) {touch = event.touches[0]; } else {touch = event; } this.positionTemp.x = touch.clientX; // 手指點擊后的位置 this.positionTemp.y = touch.clientY; this.dx = moveDiv.offsetLeft; // 移動的div元素的位置 this.dy = moveDiv.offsetTop; // console.log('moveDiv.offsetLeft', moveDiv.offsetLeft) // console.log('touch.clientX', touch.clientX) }, move(){ if(this.flags) {var touch ;if(event.touches){ touch = event.touches[0];}else { touch = event;}this.nx = touch.clientX - this.positionTemp.x; // 手指移動的變化量this.ny = touch.clientY - this.positionTemp.y;this.xPum = this.dx + this.nx; // 移動后,div元素的位置this.yPum = this.dy + this.ny;let windowWidth = document.documentElement.clientWidthlet windowHeight = document.documentElement.clientHeight// console.log('window.clientWidth', windowWidth)// console.log(this.xPum)// console.log(' moveDiv.clientWidth', moveDiv.clientWidth)if (this.xPum > 0 && (this.xPum + moveDiv.clientWidth < windowWidth)) {// movediv的左右邊,未出界 moveDiv.style.left = this.xPum + 'px';} else if (this.xPum <= 0) { // 左邊出界,則左邊緣貼邊 moveDiv.style.left = 0 + 'px';} else if (this.xPum + moveDiv.clientWidth >= windowWidth) { // 右邊緣出界 moveDiv.style.left = (windowWidth - moveDiv.clientWidth) + 'px'; // console.log('dx', windowWidth - moveDiv.clientWidth)}// 上下未出界if (this.yPum > 0 && (this.yPum + moveDiv.clientHeight < windowHeight)) { moveDiv.style.top = this.yPum +'px';} else if (this.yPum <= 0) { // 上邊緣出界 moveDiv.style.top = 0 + 'px'} else if (this.yPum + moveDiv.clientHeight >= windowHeight) { // 下邊緣 // console.log('windowHeight:', windowHeight) // console.log('moveDiv.clientHeight:', moveDiv.clientHeight) // console.log(this.yPum + moveDiv.clientHeight) moveDiv.style.top = windowHeight - moveDiv.clientHeight + 'px'}// 阻止頁面的滑動默認事件,為了只讓懸浮球滑動,其他部分不滑動;如果碰到滑動問題,1.2 請注意是否獲取到 touchmove, 系統默認passive: true,無法使用preventDefault// document.addEventListener('touchmove', function(){// event.preventDefault();// }, { passive: false });// document.addEventListener('mousemove', function(){// event.preventDefault();// }, { passive: false });document.addEventListener('touchmove', this.preventDefault, { passive: false })document.addEventListener('mousemove', this.preventDefault, { passive: false }) } }, //鼠標釋放時候的函數,鼠標釋放,移除之前添加的偵聽事件,將passive設置為true,不然背景會滑動不了 end(){ this.flags = false // 注意事項,在添加和刪除監聽事件時,其function必須是同名的函數,不能為匿名函數。 document.removeEventListener(’touchmove’,this.preventDefault, false) document.removeEventListener(’mousemove’,this.preventDefault, false) // 下面兩句是保證在移除監聽事件后,除了懸浮球的部分還能夠滑動,如果不添加,則無法滑動 document.addEventListener('touchmove', function(e) {window.event.returnValue = true }) document.addEventListener('mousemove', function(e) {window.event.returnValue = true }) }, preventDefault(e) { e.preventDefault() } }, created() {}, mounted() {}}</script><style lang='scss' scoped>.xuanfu { /* 如果碰到滑動問題,1.3 請檢查 z-index。z-index需比web大一級*/ z-index: 999; position: fixed; // 這里的定位方式有待考量,fixed的話存在未知設置不合理,跑出屏幕不顯示的問題}</style>

到此這篇關于Vue實現仿iPhone懸浮球的示例代碼的文章就介紹到這了,更多相關Vue 懸浮球內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Vue
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩精品电影一区亚洲| 欧美日韩一区二区综合| 国产精品嫩草99av在线| 日韩中文在线播放| 国产九九精品| 国产精品久久久久久久免费软件| 亚洲精品欧洲| 日韩激情视频网站| 亚洲精品国模| 亚洲精品护士| 日韩激情网站| 国产极品嫩模在线观看91精品| 国产欧美一区二区三区米奇| 国产乱人伦丫前精品视频| 国产精品黄色| 私拍精品福利视频在线一区| 亚洲婷婷免费| 蜜臀av性久久久久蜜臀aⅴ四虎| 亚洲字幕久久| 激情91久久| 亚洲精品视频一二三区| 你懂的国产精品永久在线| 国产成人久久| 91久久久精品国产| 亚洲精品九九| 狂野欧美性猛交xxxx| 久久九九精品| 亚洲bt欧美bt精品777| 国产精品免费不| 欧美日韩精品一区二区视频| 久久国产精品99国产| 国产精品一区二区av交换| 免费高潮视频95在线观看网站| 亚洲欧美不卡| 日本欧美韩国一区三区| 蜜桃精品在线| 日韩激情啪啪| 欧洲亚洲一区二区三区| 噜噜噜久久亚洲精品国产品小说| 日韩高清一区二区| 日韩一区二区三区免费播放| 亚洲精品福利| 91久久亚洲| 国产精品久久久久久久久久10秀| 久久www成人_看片免费不卡| 久久久亚洲欧洲日产| 亚洲综合电影一区二区三区| 久久男人av| 日韩国产欧美在线视频| 麻豆视频在线观看免费网站黄| 香蕉成人久久| 欧洲在线一区| 精品国产乱码久久久久久樱花| 蜜桃视频在线观看一区| 日韩欧美国产精品综合嫩v| 欧美自拍一区| 中文字幕一区二区三区四区久久| 日韩欧美三级| 国产精品欧美在线观看| 综合国产精品| 中文字幕av一区二区三区人| 亚洲一区日韩在线| 亚洲午夜电影| 成人久久久久| 日韩国产一区二区| 国产成人久久| 日韩黄色大片网站| 九九99久久精品在免费线bt| 国产精品白丝久久av网站| 久久国产尿小便嘘嘘| 国产精品亚洲欧美日韩一区在线 | 99国产精品私拍| 久久国产毛片| 国产成人精品亚洲线观看| 国产亚洲一区在线| 午夜国产一区二区| 999国产精品视频| 韩国久久久久久| 欧美好骚综合网| 国产一区二区三区久久| 国产欧美日韩影院| 日韩av影院| 91成人福利| 青青在线精品| 久久三级中文| 日本高清不卡一区二区三区视频| 日本一二区不卡| 亚洲天堂一区二区| 欧美特黄a级高清免费大片a级| 欧美日韩网址| 里番精品3d一二三区| 精品中文字幕一区二区三区四区| 精品久久福利| 精品久久在线| 亚洲性色av| 狠狠久久婷婷| 亚洲欧美久久精品| 国产精品啊v在线| 在线看片福利| 久久99伊人| 久久精品五月| 国产一级久久| 国产精品nxnn| 国产精品av一区二区| 蜜臀久久99精品久久一区二区| 欧美日韩国产传媒| 国产亚洲人成a在线v网站| 精品91福利视频| 国产视频一区三区| 奇米777国产一区国产二区| 国产精品国产一区| av不卡在线看| 国产一区二区三区黄网站| 国产精品日韩| 成人影视亚洲图片在线| 日本一区二区中文字幕| 亚洲成a人片| 99国产精品视频免费观看一公开| 国产乱码精品一区二区三区亚洲人| 国产专区精品| 日本亚洲三级在线| 久久一区二区三区电影| 7777精品| 不卡一区2区| 国产夫妻在线| 国产剧情一区二区在线观看| 亚洲男女av一区二区| 久久不见久久见国语| 亚洲伊人精品酒店| 不卡视频在线| 91看片一区| 精品视频亚洲| 久久国产欧美日韩精品| 综合激情五月婷婷| 国产成人精品亚洲日本在线观看| 日韩高清一区在线| 日韩中文字幕亚洲一区二区va在线| 精品欧美日韩精品| 国产香蕉精品| 日韩激情啪啪| 性欧美精品高清| 欧美中文一区二区| 久久久夜精品| 亚洲一级高清| 激情六月综合| 九一精品国产| 亚洲精品小说| 男女激情视频一区| 亚洲国产成人精品女人| 成午夜精品一区二区三区软件| 老司机免费视频一区二区| 日韩在线黄色| 国产福利一区二区三区在线播放| 亚洲精品裸体| 日韩欧美三区| 亚洲免费一区二区| 综合亚洲自拍| 国产精品久久久久久久久久妞妞| 你懂的国产精品| 99视频精品全国免费| 亚洲免费观看| 久久影院一区二区三区| 日韩欧美视频专区| 亚洲少妇自拍| 亚洲精品日本| 国产精品午夜av| 日韩理论片av| 天堂日韩电影| 国产精品欧美三级在线观看| 成人国产精品一区二区免费麻豆| 日韩不卡在线| 日韩激情av在线| 成人三级高清视频在线看| 日韩一区二区三区在线免费观看| 欧美影院三区| 国产欧美大片| 久久国产中文字幕| 91精品国产自产精品男人的天堂| 91亚洲国产| 午夜亚洲一区| av资源中文在线| 亚洲最新av| 久久九九电影| 嫩草伊人久久精品少妇av杨幂 | 亚洲一级黄色| 欧美日韩一区二区三区不卡视频 | 午夜av成人| 国产乱人伦精品一区| 九九综合在线| 中文字幕在线视频久| 日韩国产成人精品| 欧美/亚洲一区| 美女av在线免费看| 亚洲精品大全| 红桃视频亚洲| 欧美啪啪一区| 一区二区三区国产盗摄| 久久久噜噜噜| 国产精品欧美三级在线观看| 国产传媒在线观看|