如何使用滚动功能移动到特定部分?

时间:2017-05-02 07:39:57

标签: javascript jquery wordpress

我刚在我自己的WordPress网站上添加了this site的代码。现在我注意到代码使得它在我定位的部分添加一个自动高度,以便它始终可以是全高。

js看起来像这样:

(function() {
  var delay = false;
    $('<a name="#A1">Tag #1.</a>,.home').insertBefore('.eluid6ccc1f08');
  $(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
    });
  });
})();

如果我向下或向上滚动而不必添加自动高度,我该如何进入特定部分?

一个很好的选择可能是see in my pen here的锚标签,但不幸的是我没有访问网站的html来物理添加锚标签。

希望我有所作为。

1 个答案:

答案 0 :(得分:0)

如果你可以使用外部资源,我前一段时间创建了JQuery插件pageScroller,让你的自动滚动&#39;在容器的孩子之间。

如果你不能,你可以自己在Javascript中添加锚点。 只需选择您的元素并为其添加ID即可。 然后你可以用它作为锚。