13

我想使用 jquery 滚动到特定的 div

我编写了如下代码:

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

但它没有移动到 div 位置。我如何在 jquery 或 javascript 中做到这一点

4

5 回答 5

31

尝试这个

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

.scrollTop()

于 2013-11-09T10:31:27.777 回答
16

尝试

.scrollTop()

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


或者

滚动视图()

$('#dynamictabstrp')[0].scrollIntoView(true);

或者

document.getElementById('dynamictabstrp').scrollIntoView(true);
于 2013-11-09T10:30:59.737 回答
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);               
    });
});
于 2013-11-09T10:34:18.610 回答
1

试试这个简单的脚本。#targetDiv使用您的特定 div ID 或类进行更改。

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

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

于 2016-02-25T07:16:32.043 回答
0

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

jQuery(document).ready(function(){
function secOffset(){
                        jQuery('html, body').animate({
                        scrollTop: jQuery(window.location.hash).offset().top - 60
                }, 0);
        }
});
于 2016-12-12T11:01:09.643 回答