使用jQuery从一个div滚动到另一个div(应该很容易)

使用jQuery从一个div滚动到另一个div(应该很容易),jquery,scroll,jquery-animate,Jquery,Scroll,Jquery Animate,当我用classnext\u btn按下按钮时,我想做的就是从第一个div滚动到第二个div(都有class'question')。我觉得我的jQuery是正确的,但是,当我单击时,什么也没有发生 注意:之后我会添加更多的问题,因此我不希望每个问题和每个按钮都使用id 控制台中的错误: 未捕获的TypeError:无法读取未定义的属性“top” $(“.next_btn”)。单击(函数(){ $('html,body')。设置动画({ scrollTop:$(this).parents().n

当我用class
next\u btn
按下按钮时,我想做的就是从第一个div滚动到第二个div(都有class'question')。我觉得我的jQuery是正确的,但是,当我单击时,什么也没有发生

注意:之后我会添加更多的问题,因此我不希望每个问题和每个按钮都使用id

控制台中的错误:

未捕获的TypeError:无法读取未定义的属性“top”

$(“.next_btn”)。单击(函数(){
$('html,body')。设置动画({
scrollTop:$(this).parents().next('.question').offset().top
}, 1000);
});

下一步
下一步

您在单击最后一个按钮时遇到此错误,因为他没有
.question
下一个按钮,所以
$(this).parents()。下一个('.question')
返回
未定义的
,您可以添加一个类似代码段所示的条件

//Get the next question
var next_question = $(this).parents().next('.question');

// Check if the question exist them animate
if (next_question.length) {
    $('html, body').animate({
      scrollTop: next_question.offset().top
    }, 1000);
}
$(“.next_btn”)。单击(函数(){
var next_question=$(this.parents().next('.question');
如果(下一个问题长度){
$('html,body')。设置动画({
scrollTop:next_question.offset().top
}, 1000);
}
});







下一步
下一步
下一步
下一步










您粘贴的代码工作正常,除了单击第二个/最后一个按钮外,您的代码没有问题第一个按钮也会给我一个错误。
NEXT
按钮1将页面滚动到图像2,但是
NEXT
2将出错,因为没有可滚动的内容,只要删除第二个按钮,那么你就可以投票删除我的答案,然后复制我的答案,好吧,当我试图删除我的答案时,我错投了删除的一票,我没有投反对票。如果你没有删除你的答案,恐怕我不得不这样做:(我现在就把它删除,我只是想证明它不是我的,我没有投反对票来报复,我投反对票给那些无用的帖子……谢谢你们两位的帮助