JavaScript禁止微信瀏覽器下拉回彈效果,javascript拉回

來源:互聯網
上載者:User

JavaScript禁止瀏覽器下拉回彈效果,javascript拉回

本文執行個體為大家分享了JavaScript禁止瀏覽器下拉回彈的效果,供大家參考,具體內容如下

方法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'));//哪裡需要可以局部滾動,添加一個“scroll”的class   document.body.addEventListener('touchmove', function(evt) {     if(!evt._isScroller){       evt.preventDefault();     }   }); </script>

此方法的優缺點:
優點:支援局部滾動;
缺點:瀏覽器本身超出頁面出現的滾動被禁用掉了,需要改為局部滾動,且局部滾動的地方需要加“scroll”的class。
註:如果同一個頁面多個局部滾動,需要將
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座標點     $(document.body).on('touchstart', function(event) {       lastY = event.originalEvent.changedTouches[0].clientY;//點擊螢幕時記錄最後一次Y度座標。     });     $(document.body).on('touchmove', function(event) {       var y = event.originalEvent.changedTouches[0].clientY;       var st = $(this).scrollTop(); //捲軸高度        if (y >= lastY && st <= 10) {//如果捲軸高度小於0,可以理解為到頂了,且是下拉情況下,阻止touchmove事件。         lastY = y;         event.preventDefault();       }       lastY = y;     });   } </script> 

此方法的優缺點:
優點:支援瀏覽器本身超出頁面的滾動
缺點:不支援局部滾動

以上就是本文的全部內容,希望對大家的學習有所協助,也希望大家多多支援幫客之家。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.