中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

jquery如何禁止上下滾動事件

發布時間:2021-11-11 11:36:31 來源:億速云 閱讀:530 作者:小新 欄目:web開發

這篇文章主要介紹jquery如何禁止上下滾動事件,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

jquery禁止上下滾動事件的方法:1、打開相應的代碼文件;2、判斷滾動條高度;3、通過“$(document).bind('mousewheel', function(event, delta)...”禁用滾輪事件即可。

本文操作環境:windows7系統、jquery3.2.1版、DELL G3電腦

jQuery禁用、開啟鼠標滾輪事件

寫一個網頁的時候需要剛打開的時候是一個占滿一屏的視頻,想要禁用鼠標滾輪事件,通過點擊向下的按鈕使頁面向下滑動過視頻部分,所以查找了禁用鼠標滾輪的事件方法

1、禁用鼠標滾輪事件

$(document).bind('mousewheel', function(event, delta) {return false;});

之后滑動過視頻以后又要使用鼠標滾輪向下滑動,所以解綁事件,使鼠標滾輪可以使用

2、如果要開啟鼠標滾輪事件,直接解綁事件就可以了

$(document).unbind('mousewheel');

但是鼠標滾輪可以使用后,向上滾動就會回到視頻部分,這時就會很尷尬的發現視頻部分既可以用鼠標滾輪也可以用向下按鈕,所以滑動到視頻部分的時候要禁用鼠標滾輪事件。

怎么判斷到了視頻部分

1、首先判斷我是向上滑動

ps:jQuery 半吊子,所以代碼中又有js代碼又有jquery代碼

window.onscroll = function(){
  p=$(this).scrollTop();
  if(t>p){
    console.log("向上滾動");
  }
  t = p;
};

2、然后判斷滾動條高度是否小于頁面一屏的高度,這里加了一個獲取一屏高度的函數

// 獲取瀏覽器窗口的可視區域的高度
function getViewPortHeight() {
  return document.documentElement.clientHeight || document.body.clientHeight;
}
window.onscroll = function(){
  p=$(this).scrollTop();
  let height = getViewPortHeight();
  if (p >= height){
    $(document).unbind('mousewheel');
  }
  if(t>p){
    if (p < height) {
        $(document).bind('mousewheel', function(event, delta) {
          return false;
        });
        $('html,body').animate({scrollTop:0},1000);
      }
    }
  }
  t = p;
};

但是這樣就會無限的給document禁用或開啟鼠標滾輪事件,so sad

3、獲取事件已經綁定的事件

使用

$._data(obj[0],"event")
var objEvt = $._data($(document)[0], 'events');
window.onscroll = function(){
  p=$(this).scrollTop();
  let height = getViewPortHeight();
  if (p >= height){
    $(document).unbind('mousewheel');
    objEvt = $._data($(document)[0], 'events');
  }
  if(t>p){
    if (p < height) {
      if (!objEvt){
        $(document).bind('mousewheel', function(event, delta) {
          return false;
        });
        objEvt = $._data($(document)[0], 'events');
        $('html,body').animate({scrollTop:0},1000);
      }
    }
  }
  t = p;
};

如果元素已經綁定事件就不綁定了,或者元素綁定了事件就給元素解綁

以上是“jquery如何禁止上下滾動事件”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

屯门区| 渭源县| 那曲县| 芦山县| 敦煌市| 齐河县| 北宁市| 仁怀市| 嘉祥县| 九台市| 会昌县| 宁强县| 枣强县| 巴东县| 雅江县| 额济纳旗| 万年县| 遂宁市| 绍兴县| 鄢陵县| 平昌县| 黄冈市| 怀集县| 武义县| 富川| 朝阳区| 玛多县| 保山市| 三门峡市| 方城县| 吴桥县| 五家渠市| 普安县| 磐石市| 景洪市| 平和县| 平谷区| 龙岩市| 伊川县| 南郑县| 曲阳县|