Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.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 创建动画点对点onepage导航n_Javascript_Jquery - Fatal编程技术网

Javascript 创建动画点对点onepage导航n

Javascript 创建动画点对点onepage导航n,javascript,jquery,Javascript,Jquery,我正在创建一个导航,这样当我点击我的a标签时,它就会滚动到它所选择的元素。但是我应该怎样做才能使它在运行时具有动画效果呢 发件人: 致: 家 我想知道它是否可以与jquery一起使用。您可以使用jquery执行类似的操作 $("a").click(function() { $("html,body").animate({scrollTop: $("#home").offset().top}); }); 参考资料: $(function() { $('a[href*=#]:n

我正在创建一个导航,这样当我点击我的a标签时,它就会滚动到它所选择的元素。但是我应该怎样做才能使它在运行时具有动画效果呢

发件人:


致:


我想知道它是否可以与jquery一起使用。

您可以使用jquery执行类似的操作

$("a").click(function() { 
   $("html,body").animate({scrollTop: $("#home").offset().top});
});
参考资料:

$(function() {
  $('a[href*=#]:not([href=#])').click(function() {
    if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
      var target = $(this.hash);
      target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
      if (target.length) {
        $('html,body').animate({
          scrollTop: target.offset().top
        }, 1000);
        return false;
      }
    }
  });
});

可以随意更改动画的速度,该速度当前设置为1000ms(1秒),以您喜欢的值为准。请记住,此代码将影响在HTML文档中引用具有匹配id的元素的所有锚定标记。

您可以这样做:


那么,每次需要滚动时,我是否都需要一个@UnScope不,除非你真的希望在这里使用答案,否则请看我在我的答案上的参考资料,它适用于所有情况。实现是您的选择,所以这个答案很好,它取决于您想要实现什么。它只是一个示例。如果您需要一个完整的函数,请查看@AGE答案。我必须如何设置它,以便如果我有一个so,它可以转到它?这适用于引用具有相同id的匹配元素的所有锚定链接。因此,如果您有一个引用
#home
的锚定标记,此代码知道查找id为
home
的匹配元素,并执行平滑滚动动画。如果您试图在代码中添加此代码,最好确保它只是
$(function(){…/*code inside only*/})中的代码我明白了!thanks很多这正是我想要的:)非常感谢@UnScope没问题,只是要知道有很多像这样的很棒的代码片段,有时候一个简单的谷歌搜索会给你很多好的答案:-)我尝试过谷歌,但不知道它是什么:)但现在我知道它被称为“平滑滚动”。)
$("a").click(function() { 
   $("html,body").animate({scrollTop: $("#home").offset().top});
});
$(function() {
  $('a[href*=#]:not([href=#])').click(function() {
    if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
      var target = $(this.hash);
      target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
      if (target.length) {
        $('html,body').animate({
          scrollTop: target.offset().top
        }, 1000);
        return false;
      }
    }
  });
});
var links = $('#links a');

links.on('click', function(e){
    e.preventDefault();
    var theHREF = $(this).attr('href'),
        sectionTop = $(theHREF).offset().top;
    $("html, body").stop().animate({scrollTop:sectionTop}, 500);
})