移動端滑屏滾動事件的問題(橫向滑動阻止垂直頁面滾動)


在項目中遇到一個問題,橫向滑動的時候想阻止垂直放向頁面滾動,一開始用$(document).css("overflow-y","hidden")並沒有效果,后來才發現我們在判斷為橫向滑動時用event.preventDefault阻止默認事件即可,

   var taskswiper = {
      startX: 0,
      startY: 0
   };
   $(id).on('touchstart', 'li', function(event){
      if (event.originalEvent.targetTouches.length == 1) {
         taskswiper.startX = event.originalEvent.targetTouches[0].pageX;
         taskswiper.startY = event.originalEvent.targetTouches[0].pageY;
      }
   });

   $(id).on('touchmove', 'li', function(event){
      taskswiper.leftX = event.originalEvent.targetTouches[0].pageX - taskswiper.startX;
      taskswiper.leftY = event.originalEvent.targetTouches[0].pageY - taskswiper.startY;

      //橫向移動大於縱向移動
      if ((Math.abs(taskswiper.leftX) > Math.abs(taskswiper.leftY))) {
         //阻止縱向滾動事件
         event.preventDefault();

     //執行想做的事情
     
      }
   });

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM