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

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

在vue中實現禁止屏幕滾動,禁止屏幕滑動

瀏覽:212日期:2022-12-31 08:27:27

今天寫了一個Vue彈層組件,用來全屏查看圖片的,大概是下面這么一個效果:

在vue中實現禁止屏幕滾動,禁止屏幕滑動

其中背景是透明色的,但是彈出這個組件時手指滑動、鼠標滾輪滑動,底部頁面是會動。

作為自己開發的一個常用的組件,這種bug當然是要解決的。

于是學藝不精的我在網上找了蠻久的,看了不少博客,看了不少觀點和方法。終于找到了一個最簡單、最實在的方法,

代碼如下:

<div v-show='isShow' @click.self='hide' @touchmove.prevent @mousewheel.prevent>...</div>

首先,這個div就是整個遮罩組件的根組件,核心就是div上的事件綁定。

@touchmove 是觸摸移動事件

@mousewheel 是鼠標滾輪事件

而加了prevent事件后綴,相信大家都知道是阻止默認事件。

當組件在屏幕最上方顯示時,觸摸移動事件和鼠標滾輪都被阻止了,所以頁面不會再滾動。

在網上也看到了很多給body添加事件的解決方法:

function bodyScroll(event){ event.preventDefault(); } document.body.addEventListener(’touchmove’,bodyScroll,false);

這里就不說了,網上有很多,我也沒用上,所以沒有驗證,如果是傳統頁面的,可以使用一下這種方法。

好了,菜鳥要繼續去學習了。。。

補充知識:VUE2.0 實現移動端在固定區域內的滾動效果

1.開發工具:微信web開發者工具;

2.項目:嵌在APP中的一個活動,活動是H5頁面,使用VUE2.0框架。

3.需求,直接上截圖:

在vue中實現禁止屏幕滾動,禁止屏幕滑動

item 上拉滾動到底部,遮罩層部分消失;item下拉,遮罩層部分顯示。

4.代碼:

HTML:

遮罩層部分與滾動區域部分是平級

<template> <div id='selectGoods'> <!--item列表區域--> <div ref='box'> <div ref='item' v-for='(item,index) in items' > <img :src='http://www.b3g6.com/bcjs/item.goodsUrl' alt=''> <div class='right-text'> <span class='inviter-goods'>{{item.resourceName}}</span> <br> <span class='invitee-rules'><span class='person-num'>{{item.inviteResourceId}}</span>我是右側文本第二行</span> </div> </div> </div> <!--列表底部遮罩層--> <div v-show='bottomMaskShow'> <img src='http://www.b3g6.com/static/inviteFriends/goodsListMask.png' alt=''> <img src='http://www.b3g6.com/static/inviteFriends/xiasanjiao.png' alt=''> </div> </div></template>

CSS(重點):

.goods-area{ height:8.58rem; overflow-x: hidden; /* 解決左右可以滑動的問題 */ overflow-y: auto; /* 解決左右可以滑動的問題 */ overflow-scrolling: touch; /*兼容性 ios5+、android4+ */}

JS:

this.$refs.是VUE2.0新增的一個對象,不需要使用JS原生的獲取DOM節點的方法,直接在元素上綁定ref,如上,<div ref = 'box'>,然后再JS中直接調用 this.$refs.box 就可以直接獲取。另外,感興趣的小伙伴可以看一下,console.log(this.$refs.item)的結果。

回歸本文主題,vue2.0 中的 mounted 方法,是頁面加載后調用方法的地方。這還牽扯到另外一個問題就是VUE的鉤子函數(后續工作中有了更深入的體會結合自己的實際項目再寫一篇)。

頁面加載后,監聽滾動區域的 scroll 事件,調用 onScroll 方法,根據滾動的尺寸判斷是否已經滾動到底部,控制遮罩層的顯示和隱藏。

mounted () { this.$refs.box.addEventListener(’scroll’, this.onScroll);},onScroll () { //onScroll方法放在methods:{}中 let nScrollHeight = this.$refs.box.scrollHeight; // 滾動距離總長 內部div的高度 let nScrollTop = this.$refs.box.scrollTop; // 滾動條(點)當前的位置在內部div的高度 里占多少 let itemHeight = nScrollHeight / (this.items.length); // 可以理解為每一個item的高度 let scrollLength = itemHeight * (this.items.length - 4); // 默認顯示4個item this.bottomMaskShow = true; if (nScrollTop > (scrollLength -49)) { // 49 這個差值比較靈活,是根據項目中打印出來的item高度和scrollTop實際滾動(出去)的值對比得出的 this.bottomMaskShow = false; } else if(nScrollTop <= (scrollLength -49)){ this.bottomMaskShow = true; }}

其實這個功能沒有什么難點,但是自己在這個問題上糾纏了好長時間,在移動端的效果總是不理想,原因在于,在一開始自己就進入了一個誤區,認為在微信的開發工具上打印出來的 scrollTop 跟手機上打印出來的是一樣的,結果是,完全不一樣,手機根據尺寸的大小scrollTop的值也是不一樣的。

寫在最后:

1.對于移動端的適配問題,靈活,以不變應萬變;

2.遇到問題,想想那些點都是“你以為的”,可能就是這些“你以為的”出了問題;

以上這篇在vue中實現禁止屏幕滾動,禁止屏幕滑動就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Vue
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久蜜桃精品| 美女视频网站久久| 免费看av不卡| 日韩免费小视频| 91精品一区二区三区综合在线爱 | 蜜桃av在线播放| 日韩欧美一区二区三区在线观看| 日韩不卡视频在线观看| 伊人久久婷婷| 97久久精品| 97国产精品| 久久激情中文| 午夜在线一区二区| 日韩影片在线观看| 国产欧美精品| 色综合五月天| 欧美日韩三区| 日韩欧美激情电影| 国产精品115| 国产黄大片在线观看| 精品中文字幕一区二区三区av| 水野朝阳av一区二区三区| 国产欧美日韩一级| 韩国三级一区| 日韩免费精品| av中文字幕在线观看第一页| 婷婷中文字幕一区| 91av一区| 天堂av在线| 免费观看日韩电影| 国产精品一二| 午夜视频精品| 国产精品久久久久久久久久久久久久久 | 国产v综合v| 热久久国产精品| 久久99影视| 亚洲一区二区三区高清| 久久精品国产福利| 免费国产自久久久久三四区久久| 日韩一区免费| 91精品国产成人观看| 亚洲+小说+欧美+激情+另类| 国产v综合v| 国产伦乱精品| 夜夜嗨av一区二区三区网站四季av| 国产欧美一区二区精品久久久 | 免费在线视频一区| 国产一区二区亚洲| 亚州精品视频| 99久久久久国产精品| 国产欧美日本| 日韩中文字幕91| 欧美精品成人| 亚洲精品极品| 国产在线不卡| 精品视频一区二区三区四区五区 | 国产欧美日韩亚洲一区二区三区| 伊人精品一区| 蜜桃精品视频| 日韩高清电影一区| 91高清一区| 国产a亚洲精品| 日韩中文字幕一区二区高清99| 久久狠狠婷婷| 老司机精品视频网| 欧美日韩一区二区国产| 亚洲国产成人精品女人| 精品久久免费| 国产亚洲电影| 蜜桃久久久久久| 久久婷婷久久| 超级白嫩亚洲国产第一| 婷婷成人av| 亚洲深深色噜噜狠狠爱网站 | 欧美粗暴jizz性欧美20| 国产一区二区三区不卡av| 国产日韩欧美| 日韩av三区| 一区二区精品| 日韩在线a电影| 午夜欧美精品| 亚洲欧美一区在线| 日韩欧美午夜| 日韩一区电影| 深夜福利视频一区二区| 久久精品国产免费| 久久不见久久见中文字幕免费 | 精品国产乱码久久久| 国产精品一区二区av日韩在线| 亚洲午夜久久| 亚洲日产国产精品| 亚洲天堂免费| 中文字幕一区二区三区日韩精品 | 精品一区三区| 欧美午夜不卡影院在线观看完整版免费| 国产一区二区三区久久| 国产精品久久777777毛茸茸| 日韩av字幕| 日本天堂一区| 久久99精品久久久野外观看| 精品一区二区三区中文字幕| 精品视频在线观看网站| 视频在线不卡免费观看| 欧美日韩免费观看视频| 日韩高清不卡| 91久久国产| 美国欧美日韩国产在线播放| 亚洲理论在线| 国产伦精品一区二区三区在线播放 | 午夜欧美理论片| 在线综合亚洲| 蜜臀久久久99精品久久久久久| 亚洲一区二区av| 日韩精品五月天| 国产精品15p| 亚洲国产欧美日本视频| 国内精品福利| 日韩在线一二三区| 日韩av一区二| 精品精品99| 日韩在线视频精品| 婷婷激情图片久久| 日本欧美韩国一区三区| 精品无人区麻豆乱码久久久| 日韩欧美午夜| 91成人网在线观看| 亚洲精品日本| 国产精品.xx视频.xxtv| 中文另类视频| 亚洲18在线| 韩国一区二区三区视频| 精品中文一区| **爰片久久毛片| 肉色欧美久久久久久久免费看| 一区在线视频观看| 日韩精品免费视频一区二区三区| 麻豆高清免费国产一区| 不卡中文一二三区| 欧美日韩午夜| 色婷婷狠狠五月综合天色拍| 老司机精品久久| 精品精品久久| 日韩制服丝袜av| 国产一区二区三区四区二区| 狠狠色综合网| 精品国产三区在线| 亚洲资源网站| 一本大道色婷婷在线| 婷婷精品在线观看| 日韩精品久久久久久久电影99爱| 欧美专区18| 精品一区二区三区免费看| 久久先锋影音| 中国字幕a在线看韩国电影| 蜜桃久久精品一区二区| 国产精品不卡| 四虎在线精品| 伊人久久大香线蕉av不卡| 国产探花在线精品一区二区| 亚洲二区免费| 欧美精品99| 亚洲精品黄色| 国产精品91一区二区三区| 麻豆91小视频| 日韩精品电影一区亚洲| 成人羞羞在线观看网站| 久久国内精品| 日韩影院在线观看| 999国产精品999久久久久久| 国产精品久久久久9999高清| 蜜桃av一区二区| 一区二区小说| 国产自产自拍视频在线观看| 日韩国产欧美在线播放| 日韩午夜在线| 国产中文在线播放| 国产精品一区二区精品视频观看| 亚洲欧美日韩视频二区| 亚洲免费福利| 久久久国产精品网站| 亚洲精选av| 亚洲午夜久久久久久尤物 | 美女精品久久| 日韩不卡免费视频| 日韩专区欧美专区| 午夜欧美理论片| 亚洲爱爱视频| 伊伊综合在线| 成人在线视频免费看| 国产麻豆一区| 日本不卡视频一二三区| 丝袜国产日韩另类美女| 五月天综合网站| 久久久久免费av| 精品精品国产三级a∨在线| 国产精品一站二站| 91麻豆精品激情在线观看最新| 亚洲精品美女91| 亚洲一区av| 综合激情网...|