Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery:如何在不滚动的情况下跳转到位置_Javascript_Jquery - Fatal编程技术网

Javascript jquery:如何在不滚动的情况下跳转到位置

Javascript jquery:如何在不滚动的情况下跳转到位置,javascript,jquery,Javascript,Jquery,我编写了以下函数,当单击href时,该函数会指向某个锚定位置: $("a").click(function() { href="#myAnchor"; var fromTop = 95; if(href.indexOf("#") == 0) { var $target = $(href); if($target.length) { $('html, body').animate({ scrollTop: $target.offset()

我编写了以下函数,当单击href时,该函数会指向某个锚定位置:

$("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;});

如何更改此功能,使我无需“滚动”即可跳转到锚点。单击href时,它应该直接混在myanchor位置

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

<a name="my-bookmark"></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)
});
默认情况下,
animate()
的速度设置为“400ms”。您应该将其设置为0:

 $('html, body').animate({ scrollTop: $target.offset().top - fromTop }, 0);


编辑:或使用@Rory McCrossan解释的
scrollTop()
以下是一种不使用任何脚本的简单方法:

将div的id分配给要跳转到的位置

<a href='#jumpto'>Jump</a>

<div id='jumpto'></div>

使用
.scrollTop()
而不是
动画制作方法:

$(document).scrollTop($target.offset().top - fromTop);

没有jQuery,仅HTML
|















































<。 aaa














































<。 bbb


<
<<
<
<
<
<
<
<
<<
<<
<<
<<
<<
<
<<
<
<
<<
<<<
<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<a href='#jumpto'>Jump</a> <div id='jumpto'></div>
$(document).scrollTop($target.offset().top - fromTop);