簡體   English   中英

我試圖了解為什么此JS代碼段無法正常工作,可以使用一些可添加到WP中的指南

[英]I am trying to understand why this JS snippet isn't working, could use some guidance adding to WP

我試圖弄亂一些JS,並使用片段試圖使它們在干凈的WP安裝中正常工作,以便我了解如何正確添加Wordpress。

我正在與JSFiddle合作

這是即時通訊對其進行測試的鏈接

    (function() {
  var delay = false;

  $(document).on('mousewheel DOMMouseScroll', function(event) {
    event.preventDefault();
    if(delay) return;

    delay = true;
    setTimeout(function(){delay = false},200)

    var wd = event.originalEvent.wheelDelta || -event.originalEvent.detail;

    var a= document.getElementsByTagName('a');
    if(wd < 0) {
      for(var i = 0 ; i < a.length ; i++) {
        var t = a[i].getClientRects()[0].top;
        if(t >= 40) break;
      }
    }
    else {
      for(var i = a.length-1 ; i >= 0 ; i--) {
        var t = a[i].getClientRects()[0].top;
        if(t < -20) break;
      }
    }
    $('html,body').animate({
      scrollTop: a[i].offsetTop
    });
  });
})();

這是我正在嘗試實現的小提琴。

它似乎試圖在滾動上做某事並且被卡住。

我已采取的步驟:

在頁面中添加HTML在style.css中添加CSS在標頭中添加到Jquery的鏈接在標簽中添加JS片段之前

我在想這可能與它在頁面上包含的元素不僅僅是a和tag有關嗎? 似乎被頭文件捕獲了。 不幸的是,對於我來說,使用此JS有點困難。

謝謝。

javascript偵聽您的鼠標滾輪事件。 如果您將鼠標滾輪向上或向下滾動,它將首先檢查您當前“滾輪”的速度是否太快。 如果是,它將延遲您。 如果您不在,則它將滾動(動畫)到您的下一個錨標記,並且該錨標記將位於最上方。

編輯:我看到你在您的網站上收到一個js錯誤。 從中刪除$

$(function() {
  var delay = false;
  //blah blah
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM