我试图理解为什么这个JS片段不起作用,可以使用一些指导添加到WP

时间:2017-02-06 05:16:10

标签: javascript

我试图搞砸一些JS并使用片段试图让他们在干净的WP安装上工作,以便我理解如何正确添加Wordpress。

我正在使用JSFiddle

这是我在

上测试它的link
    (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代码段

我想它可能与它在页面上获得的元素多于一个和标签的事实有关吗?似乎被抓住了标题。不幸的是,这个JS对我很难用我知道的那个小逆向工程。

感谢。

1 个答案:

答案 0 :(得分:0)

javascript听取您的鼠标滚轮事件。如果您向上或向下鼠标滚轮,它将首先检查您当前是否正在&#34;转动&#34;太快。如果你是,它会推迟你。如果您不是,那么它会滚动(动画)到您的下一个锚标记,并且该锚标记将位于顶部。

编辑:我发现您的网站上出现了js错误。从

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