我遇到了问题,我想使用相同的功能进入窗口,使用ScrollTop,但“0”或“ - = 10”不起作用。你明白为什么吗?如果我发出警报,它会识别“monter”类,但它永远不会达到“0”或“ - = 10”。这是我的代码:
function scroll_descendre(){
var scrolling;
$('.descendre, .monter').bind({
mousedown: function(){
var zone = $(this).prev();
scrolling = true; //this is here :
if ($(this).attr('class')=='descendre') startScrolling(zone, '+=20');
else if($(this).attr('class')=='monter') startScrolling(zone, '0');
},
mouseup: function(){
scrolling = false;
},
click: function(e){
e.preventDefault();
}
});
function startScrolling(obj, param){
if (!scrolling) {
obj.stop();
} else {
obj.animate({"scrollTop": param}, "fast", function(){
if (scrolling) { startScrolling(obj, param); }
});
}
}
}
感谢您的帮助
答案 0 :(得分:1)
看看以下一行:
var zone = $(this).prev();
可能没有选择正确的动画元素。没有HTML标记很难说,但你必须将它改为另一个选择器。
由于您的.monter
元素可能位于滚动容器之前,请尝试将其更改为:
var zone = $(this).next();