JavaScript禁止微信瀏覽器下拉回彈效果
本文實(shí)例為大家分享了JavaScript禁止微信瀏覽器下拉回彈的效果,供大家參考,具體內(nèi)容如下
方法1:
<script type="text/javascript"> var overscroll = function(el){ el.addEventListener('touchstart', function(){ var top = el.scrollTop; var totalScroll = el.scrollHeight; var currentScroll = top + el.offsetHeight; if(top === 0) { el.scrollTop = 1; }else if(currentScroll === totalScroll){ el.scrollTop = top - 1; } }); el.addEventListener('touchmove', function(evt){ if(el.offsetHeight < el.scrollHeight){ evt._isScroller = true; } }); } overscroll(document.querySelector('.scroll'));//哪里需要可以局部滾動(dòng),添加一個(gè)“scroll”的class document.body.addEventListener('touchmove', function(evt) { if(!evt._isScroller){ evt.preventDefault(); } }); </script>
此方法的優(yōu)缺點(diǎn):
優(yōu)點(diǎn):支持局部滾動(dòng);
缺點(diǎn):瀏覽器本身超出頁(yè)面出現(xiàn)的滾動(dòng)被禁用掉了,需要改為局部滾動(dòng),且局部滾動(dòng)的地方需要加“scroll”的class。
注:如果同一個(gè)頁(yè)面多個(gè)局部滾動(dòng),需要將
overscroll(document.querySelector('.scroll');
改為
for(var i=0;i<document.querySelectorAll('.scroll').length;i++){
overscroll(document.querySelectorAll('.scroll')[i]);
}
方法2:
<script type="text/javascript"> function stopDrop(){ var lastY;//最后一次y坐標(biāo)點(diǎn) $(document.body).on('touchstart', function(event) { lastY = event.originalEvent.changedTouches[0].clientY;//點(diǎn)擊屏幕時(shí)記錄最后一次Y度坐標(biāo)。 }); $(document.body).on('touchmove', function(event) { var y = event.originalEvent.changedTouches[0].clientY; var st = $(this).scrollTop(); //滾動(dòng)條高度 if (y >= lastY && st <= 10) {//如果滾動(dòng)條高度小于0,可以理解為到頂了,且是下拉情況下,阻止touchmove事件。 lastY = y; event.preventDefault(); } lastY = y; }); } </script>
此方法的優(yōu)缺點(diǎn):
優(yōu)點(diǎn):支持瀏覽器本身超出頁(yè)面的滾動(dòng)
缺點(diǎn):不支持局部滾動(dòng)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JavaScript實(shí)現(xiàn)移動(dòng)端拖動(dòng)元素
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)移動(dòng)端拖動(dòng)元素,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-11-11分享Typescript的13個(gè)基礎(chǔ)語(yǔ)法
這篇文章主要分享了Typescript的14個(gè)基礎(chǔ)語(yǔ)法,Typescript可以說(shuō)是JavaScript的超集,在JS的基礎(chǔ)上新增了許多語(yǔ)法特性,使得類型不再可以隨意轉(zhuǎn)換,能大大減少開(kāi)發(fā)階段的錯(cuò)誤。2021-12-12javascript的回調(diào)函數(shù)應(yīng)用示例
回調(diào)函數(shù)就是一個(gè)通過(guò)函數(shù)指針調(diào)用的函數(shù)。下面以示例的方式為大家介紹下其具體的使用2014-02-02JavaScript實(shí)現(xiàn)的貝塞爾曲線算法簡(jiǎn)單示例
這篇文章主要介紹了JavaScript實(shí)現(xiàn)的貝塞爾曲線算法,結(jié)合簡(jiǎn)單實(shí)例形式分析了基于javascript的貝塞爾曲線算法的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-01-01javascript中動(dòng)態(tài)加載js文件多種解決辦法總結(jié)
這篇文章主要介紹了javascript中動(dòng)態(tài)加載js文件多種解決辦法,有需要的朋友可以參考一下2013-11-11基于Ionic3實(shí)現(xiàn)選項(xiàng)卡切換并重新加載echarts
這篇文章主要介紹了基于Ionic3實(shí)現(xiàn)選項(xiàng)卡切換并重新加載echarts,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09關(guān)閉瀏覽器時(shí)提示onbeforeunload事件
這篇文章主要介紹了關(guān)閉瀏覽器時(shí)提示onbeforeunload事件,有需要的朋友可以參考一下2013-12-12