jQuery Scroll在悬停时到达底部时返回顶部

时间:2014-02-22 00:20:10

标签: javascript jquery scroll

我在Stack Overflow上看到了这段代码。它在鼠标悬停时向下滚动并在mouseout上滚动到顶部:

var amount = '';
function scroll() {
    $('#div1').animate({
        scrollTop: amount
    }, 500, 'linear',function() {
        if (amount != '') {
            scroll();
        }
    });
}
$('#div1').hover(function() {
    amount = '+=10';
    scroll();
}, function() {
    amount = '0';
});

我需要它在到达底部时滚动到顶部。我尝试添加一个if / then到第二部分,只有当滚动量小于div高度时向下滚动:

$('#div1').hover(function() {
    if (amount < ('#div1').height()){
        amount = '=+10';
        scroll();}
    else {
        amount = '=-10';
        scroll();}
}, function() {
    amount = '0';
});

但是这停止了所有滚动。任何帮助都会很棒。

谢谢。

1 个答案:

答案 0 :(得分:0)

我认为您错误地在脚本中添加了数量变化的符号。它应该是这样的:

$('#div1').hover(function() {
    if (amount < ('#div1').height()){
        amount = '+=10';
        scroll();}
    else {
        amount = '-=10';
        scroll();}
}, function() {
    amount = '0';
});