Javascript 如何在jquery中向下滚动
我有一个用户应该填写的问题列表。“是”或“否”类型的问题是那些可以根据所选内容转移到另一个问题编号的问题。例如,单选按钮中的问题Javascript 如何在jquery中向下滚动,javascript,jquery,json,Javascript,Jquery,Json,我有一个用户应该填写的问题列表。“是”或“否”类型的问题是那些可以根据所选内容转移到另一个问题编号的问题。例如,单选按钮中的问题 你结婚了吗? 对 没有 $('body,html').animate({scrollTop:$(“#”+anyQuestionId.offset().top},1000) 如果回答为是,我想滚动到问题2,如果回答为否,我想滚动到问题10。 这个代码示例并没有把我带到确切的问题编号 如何在jquery中实现这一点?下面是它的工作示例 如果你想检查所选内容,你可以将其作为
('body,html').animate({scrollTop:$(“#”+anyQuestionId.offset().top},1000)代码>
如果回答为是,我想滚动到问题2,如果回答为否,我想滚动到问题10。
这个代码示例并没有把我带到确切的问题编号
如何在jquery中实现这一点?下面是它的工作示例
如果你想检查所选内容,你可以将其作为你想要做出反应的字段的事件句柄,在这个句柄中,你可以检查值,如果它是你想要的,你将滚动,否则不会滚动,但要明智地考虑它(即使你选择了什么,如果它不会对用户造成太大的麻烦).您需要观看并捕获单选按钮单击事件,如下所示:
$('.radio input').on('click', function(el){
console.log( $(this).prop('checked') )
if( $(this).prop('checked') ){
$('body,html').animate({scrollTop: $(".red").offset().top}, 1000);
}
})
以下是演示:
hth,k唯一需要更改的是scrollTop
的值。您可以简单地添加或减去要偏移滚动的像素数。例如:
$('html, body').animate({
scrollTop: $("#"+anyQuestionId).offset().top + 50
}, 1000);
这里有一个例子。如果单击第一个元素,它将滚动50像素,超出通常的位置
希望这有帮助 为什么不创建一个具有唯一id
属性的div
,并使用jQuery将当前问题的文本写入该元素?然后,根据访问者给出的答案,使用jQuery选择下一个问题,清除div
的内容,并将新问题的文本写入其中?我认为滚动总是很容易出错,所以你最好简单地在一个特定的元素中写入和清除文本。你能给出JSFIDDLE中的示例代码吗?为了回答这个问题,我们需要更多的信息。这里有一个可以工作()的提琴示例,但是如果没有更多的上下文,就无法找出哪里出了问题。如其他人所述;您包含的那行代码看起来是正确的,因此问题一定在代码中的其他地方。