javascript - jquery : how to jump to position without scrolling

标签 javascript jquery

我编写了以下函数,当单击 href 时,该函数会滚动到某个 anchor 位置:

$("a").click(function() {

href="#myAnchor";
    var fromTop = 95;

    if(href.indexOf("#") == 0) {
      var $target = $(href);
      if($target.length) {
        $('html, body').animate({ scrollTop: $target.offset().top - fromTop });
          return false;
        }
      }
 };
  return false;});

如何更改此功能,以便我跳到我的 anchor 而不“滚动”。当点击href时,应该直接跳转到myanchor位置。

最佳答案

这是 HTML 的标准功能,称为“书签”,不需要 JS。首先将书签放在您希望浏览器滚动到的位置:

<a name="my-bookmark"></a>

然后在需要的地方放置您的链接:

<a href="#my-bookmark">Go to bookmark</a>

HTML5 还允许您通过 id 指定书签元素的:

<div id="foo">Foo</div>

<!-- in another part of the page, far far away -->
<a href="#foo">Go to foo</a>
<小时/>

更新

如果您需要允许在页面顶部填充,那么您可以使用 <a name="x"></a>方法并将它们放置在目标上方所需的距离处,尽管这可能会变得难以维护。

你可以在这种情况下使用这个 JS:

$("a.bookmark").click(function(e) {
    e.preventDefault();
    var href = $(this).attr(href);
    var fromTop = $('#fixed-header').height();
    $(window).scrollTop($(href).offset().top - fromTop)
});

关于javascript - jquery : how to jump to position without scrolling,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28498967/

相关文章:

javascript - Highcharts - 带有 'line' 类型极坐标图的负色

javascript - Chart.js 圆 Angular donut

javascript - 从 DOM 中删除 bootstrap Modal

javascript - 多个可变长度javascript数组中的公共(public)值

javascript - 使用表单提交在表单中添加时,Bootstrap 动态表单字段不起作用

jQuery 插件 : Validation explain this code please

javascript - Node.js 不等待数据

javascript - 根据用户的 <select> 更新/切换/过滤条形图

jquery - 使用 CSS/jquery 或 Flash 的完整图像背景?

javascript - highcharts 错误 : <rect> attribute width: Expected length, "NaN"