如何使用jQuery或JavaScript滚动到特定的<div>元素?

14
我想使用jQuery滚动到特定的div。
我已经编写了如下代码:

我想使用jQuery滚动到特定的div。

我已经写了这样的代码:

 $("#button").on('click',function(){
     var p = $("#dynamictabstrp");
     var offset = p.offset();
     window.scrollBy(offset.left, offset.top);
 });

但它没有移动到 div 的位置。我该如何在 jQuery 或 JavaScript 中实现?

5个回答

31

试试这个

$("#button").on('click',function() {
    $('html, body').animate({
        'scrollTop' : $("#dynamictabstrp").position().top
    });
});

.scrollTop()


17

尝试

.scrollTop()

$(window).scrollTop($('#dynamictabstrp').offset().top);
或者

scrollIntoView()

$('#dynamictabstrp')[0].scrollIntoView(true);
或者
document.getElementById('dynamictabstrp').scrollIntoView(true);

2
这里是代码:-
$(document).ready(function (){
  $("#button").on('click',function(){                
         $('html, body').animate({
              scrollTop: $("#dynamictabstrp").offset().top
        }, 1000);               
    });
});

或者
$(document).ready(function (){
  $("#button").click(function(){                
         $('html, body').animate({
              scrollTop: $("#dynamictabstrp").offset().top
        }, 1000);               
    });
});

1

尝试这个简单的脚本。将#targetDiv替换为您特定的div ID或类。

$('html,body').animate({
    scrollTop: $('#targetDiv').offset().top
}, 1000);

源代码和实时演示可以从这里找到 - 使用jQuery平滑滚动到div


0

您可以根据需求设置偏移量

jQuery(document).ready(function(){
function secOffset(){
                        jQuery('html, body').animate({
                        scrollTop: jQuery(window.location.hash).offset().top - 60
                }, 0);
        }
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接