使用jQuery从一个div滚动到另一个div(应该很容易)
当我用class使用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
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将出错,因为没有可滚动的内容,只要删除第二个按钮,那么你就可以投票删除我的答案,然后复制我的答案,好吧,当我试图删除我的答案时,我错投了删除的一票,我没有投反对票。如果你没有删除你的答案,恐怕我不得不这样做:(我现在就把它删除,我只是想证明它不是我的,我没有投反对票来报复,我投反对票给那些无用的帖子……谢谢你们两位的帮助