Javascript jquery滚动赢得';不要从精确位置滚动

Javascript jquery滚动赢得';不要从精确位置滚动,javascript,jquery,html,Javascript,Jquery,Html,我正在使用以下jquery使链接滚动到下一个div。但是,我遇到了一个问题。从页面顶部看,脚本工作正常。当我单击另一个div的链接(页面下方的另一个链接)时,脚本仅向上或向下滚动,而不会滚动到下一个指定的div。如何使脚本从链接所在的当前位置完全滚动 $(function() { $('#nav a').bind('click',function(event){ var $anchor = $(this); $('html, body, #container, .main').

我正在使用以下jquery使链接滚动到下一个div。但是,我遇到了一个问题。从页面顶部看,脚本工作正常。当我单击另一个div的链接(页面下方的另一个链接)时,脚本仅向上或向下滚动,而不会滚动到下一个指定的div。如何使脚本从链接所在的当前位置完全滚动

$(function() {
$('#nav a').bind('click',function(event){
    var $anchor = $(this);

    $('html, body, #container, .main').stop().animate({
        scrollTop: $($anchor.attr('href')).offset().top
    }, 1500,'easeInOutExpo');
    event.preventDefault();
 });
});

你打错位置了

这应该可以解决问题。。。首先设置锚点

$(function() {
$('#nav a').bind('click',function(event){
    var $anchor = $(this).attr('href');

    $('html, body, #container, .main').stop().animate({
        scrollTop: $($anchor).offset().top
    }, 1500,'easeInOutExpo');
    event.preventDefault();
 });
});
这里有一个错误:

scrollTop: $($anchor.attr('href')).offset().top
     //------^^^^^^^---------------------------------this itself a selector
更改此选项,然后尝试:

scrollTop: $anchor.attr('href').offset().top
还有这个:

 $('#nav a').bind('click',function(event){
    var $anchor = $(this).attr('href');
    $('html, body, #container, .main').stop().animate({
        scrollTop: $($anchor).offset().top
    }, 1500,'easeInOutExpo');
    event.preventDefault();
 });

好的,我为您制作了一个JSFIDLE,我将js代码重写为下面的代码,但是您可以在这里查看完整内容:

不过,这个脚本的关键是我把链接放在了div本身,所以它不在某个#nav中。所以如果你把链接放在导航中,你就必须重写那部分

我在那里也放了一个if语句,因为我认为最好先检查是否有下一个div,然后再滚动到那里

希望它有点道理,让我知道它是否适合你!
干杯!这也没用。它仍然在做同样的事情。页面会随机向上或向下滚动,但不会滚动到下一个指定的分区。谢谢您的帮助。。。我是一个初学者。好吧,如果你做一个console.log($($anchor.offset().top)),会发生什么;你有电话号码吗?对不起。。。又是初学者。。。我该怎么做/去哪里做?就在你的$anchor Varaible之后。。。上面的文章很有用,正是我所说的,但有一个有用的例子。。。这就是你需要做的。。。可能你没有定义你的div ID?你介意写出我需要输入的全部代码吗。我知道如何查看控制台,但似乎无法将您给我的代码放在正确的位置。刚刚添加了另一个版本,您可以尝试此版本。很抱歉,也无法工作。。。谢谢你的努力,我真的很感激!我希望能尽快解决这个问题。两次都是不可能的。很抱歉。刚刚更新了答案并添加了一把小提琴,效果很好。再次感谢,但由于某些原因,我原来的问题仍然存在。当我点击一个链接时,比如说从下一个div继续,这就是我的问题所在。然后脚本出错,将我发送到页面顶部或div之间的某个位置。谢谢您的帮助,但我已经解决了我的问题!不过,我的个人资料中还有一个问题需要查看!
$(function() {
     $('a.scrolltonext').click(function(event){
     event.preventDefault();
     var parentblock = $(this).parent();
     var nextblock = parentblock.next();
     //nextblock.css('background-color','#00f');

         if(nextblock.size()>0) {
              $('html, body').stop().animate({
                   'scrollTop': nextblock.offset().top
              }, 800);
         }
     }); 
});