我试图制作一个简单的脚本来检查用户是否按下了网页上的按钮。如果他这样做,它会检查用户是否滚动过某个div,如果他这样做,页面会滚动到另一个,否则没有任何反应。
从技术上讲,我的代码可以正常运行,因为它会将DOM滚动到锚点,但作为副作用,会阻止您在执行此操作后滚动。
$("#scrollDownBttn").click(function(){
var mainOffset = $("#pinkRegion").offset().top;
$(document).on('scroll', function() {
if ( $(document).scrollTop() > mainOffset ) {
$(document).scrollTop( $("#brownRegion").offset().top );
}
else{
}
});
});
我试图习惯jQuery,但显然我还有很长的路要走。我甚至无法弄清楚它冻结整个页面的原因。任何想法为什么会这样?
答案 0 :(得分:2)
试试这个:
$("#scrollDownBttn").click(function(){
$('html, body').animate({
scrollTop: $("#pinkRegion").offset().top
}, 500);
});
答案 1 :(得分:0)
$("#scrollDownBttn").click(function(){
var mainOffset = $("#pinkRegion").offset().top;
if ( $(document).scrollTop() > mainOffset ) {
$(document).scrollTop( $("#brownRegion").offset().top );
}
else{
}
});
无需使用croll事件