Maison > interface Web > js tutoriel > le corps du texte

JavaScript implémente la désactivation de l'effet de rebond déroulant du navigateur WeChat

韦小宝
Libérer: 2018-03-07 18:01:31
original
3518 Les gens l'ont consulté

Cet article présente principalement en détail la méthode de JavaScript pour désactiver l'effet de rebond déroulant du navigateur WeChat. Il a une certaine référence et valeur pour l'apprentissage de JavaScript. Les amis intéressés par JavaScript peuvent se référer. Jetez un œil à cet article

L'exemple dans cet article partage avec vous l'effet de JavaScript interdisant le rebond déroulant sur le navigateur WeChat pour votre référence. Le contenu spécifique est le suivant

. Méthode 1 :

<script type="text/javascript"> 
  var overscroll = function(el){ 
    el.addEventListener(&#39;touchstart&#39;, 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(&#39;touchmove&#39;, function(evt){ 
      if(el.offsetHeight < el.scrollHeight){ 
        evt._isScroller = true; 
      } 
    }); 
  } 
  overscroll(document.querySelector(&#39;.scroll&#39;));//哪里需要可以局部滚动,添加一个“scroll”的class 
  document.body.addEventListener(&#39;touchmove&#39;, function(evt) { 
    if(!evt._isScroller){ 
      evt.preventDefault(); 
    } 
  }); 
</script>
Copier après la connexion

Avantages et inconvénients de cette méthode :
Avantages : prend en charge le défilement local < ; 🎜>
Inconvénients : navigation. Le défilement qui apparaît au-delà de la page de l'appareil lui-même est désactivé et doit être modifié en défilement partiel, et la classe "scroll" doit être ajoutée à la zone de défilement locale.
Remarque : S'il y a plusieurs défilements partiels sur la même page, vous devez modifier

overscroll(document.querySelector(&#39;.scroll&#39;);
Copier après la connexion

Pour

for(var i=0;i<document.querySelectorAll(&#39;.scroll&#39;).length;i++){
overscroll(document.querySelectorAll(&#39;.scroll&#39;)[i]);
}
Copier après la connexion

Méthode 2 :

<script type="text/javascript"> 
  function stopDrop(){ 
    var lastY;//最后一次y坐标点 
    $(document.body).on(&#39;touchstart&#39;, function(event) { 
      lastY = event.originalEvent.changedTouches[0].clientY;//点击屏幕时记录最后一次Y度坐标。 
    }); 
    $(document.body).on(&#39;touchmove&#39;, 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>
Copier après la connexion
Avantages et inconvénients de cette méthode :


Avantages : Prend en charge le défilement au-delà de la page dans le navigateur
Inconvénients : Ne prend pas en charge le défilement local

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!