【问题标题】:jQuery Smooth Scroll to any Anchor [duplicate]jQuery平滑滚动到任何锚点[重复]
【发布时间】:2013-08-14 13:31:05
【问题描述】:

我尝试了许多不同的代码来平滑滚动到锚点。我找不到一个有效的。它需要能够垂直、水平和对角滚动。我发现其他人的另一个问题是他们似乎无法处理多个目标。我希望它能够滚动到页面上的任何锚点,而无需编辑脚本。

Fiddle

这是最匹配的代码,我无法让它工作:

var $root = $('html, body');
$('a').click(function () {

    $root.animate({

        scrollLeft: $($.attr(this, 'href')).offset().left,
        scrollTop: $($.attr(this, 'href')).offset().top

    }, 500);

    return false;
});

它在 JSFiddle 中有效,但是当我将它放在我的页面上时它不起作用。

为什么这不是重复的? 这是一个不针对单个元素的多向脚本。它适用于页面上的所有链接。

【问题讨论】:

标签: javascript jquery html


【解决方案1】:

我无法让你的 jsfiddle 工作,看看这是否有效:

$(function(){
    $('a').on({
      click:function (e) {
        e.preventDefault();
        var root = $("html, body");
        var target = $(this).attr("href");
        root.animate({  
            scrollLeft: $(target).offset().left,
            scrollTop: $(target).offset().top
        }, 500);
      }
    });
)};

【讨论】:

  • 我收到一个缺少分号的错误,不知道为什么。它也不起作用。 :(
  • 奇怪 - 我也看不到任何丢失的分号。
  • 我刚刚在 jsfiddle 上试了一下,效果很好。 jsfiddle.net/B3F25/6
  • 我认为问题是我把它放在页面上是错误的,你能把 html 包括进去,这样我就可以看看我做错了吗?
  • jsfiddle.net/B3F25/6 应该有它的全部
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-16
  • 2014-08-08
  • 2019-05-05
  • 1970-01-01
  • 2014-10-26
  • 2023-04-02
相关资源
最近更新 更多