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

Rag*_*mah 5 javascript wordpress jquery

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

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
    });
  });
})();
Run Code Online (Sandbox Code Playgroud)

如果我向下或向上滚动而不必添加自动高度,我怎么能去特定的部分?

一个很好的选择可能是锚标签,你可以在我的笔在这里看到,但不幸的是我没有访问网站的HTML来物理添加锚标签.

希望我有所了解.

Zen*_*noo 0

如果您可以使用外部资源,我不久前创建了 JQuery 插件pageScroller ,它可以让您在容器的子级之间“自动滚动”。

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