如何滚动到特定的div?

时间:2015-09-19 08:27:45

标签: jquery

我尝试做的事情是这样的http://jsfiddle.net/kevinPHPkevin/8tLdq/1/,但是向下滚动而不是按钮点击。任何建议?

$("html").scroll(function() {
    $('html, body').animate({
        scrollTop: $("#myDiv").offset().top
    }, 2000);
});

2 个答案:

答案 0 :(得分:0)

<div id="searchbycharacter">
<a class="searchbychar" href="#" data-target="numeric">0-9 |</a> 
<a class="searchbychar" href="#" data-target="A"> A |</a> 
<a class="searchbychar" href="#" data-target="B"> B |</a> 
<a class="searchbychar" href="#" data-target="C"> C |</a> 
... Untill Z
</div>

在jquery中把这个:

$(document).on('click','.searchbychar', function(event) {
event.preventDefault();
var target = "#" + this.getAttribute('data-target');
$('html, body').animate({
    scrollTop: $(target).offset().top
}, 2000);
});

希望它有用。

答案 1 :(得分:0)

您的代码应为 -

$(window).scroll(function() {
    $('html, body').animate({
        scrollTop: $("#myDiv").offset().top
    }, 2000);
});

注意 - 这不是专门向下滚动的。即使您尝试向上滚动,也会触发此事件。

只有向下滚动才能实现这一点 -

var ls = 0;
$(window).scroll(function() {
    var st = $(window).scrollTop();
    if (st>ls) {
        $('html, body').animate({
            scrollTop: $("#myDiv").offset().top
        }, 2000);
    }
    ls = st;
});