我在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';
});
但是这停止了所有滚动。任何帮助都会很棒。
谢谢。
答案 0 :(得分:0)
我认为您错误地在脚本中添加了数量变化的符号。它应该是这样的:
$('#div1').hover(function() {
if (amount < ('#div1').height()){
amount = '+=10';
scroll();}
else {
amount = '-=10';
scroll();}
}, function() {
amount = '0';
});