函数ScrollTop只能以一种方式工作

时间:2011-06-18 16:16:42

标签: jquery scrolltop

我遇到了问题,我想使用相同的功能进入窗口,使用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); }
                    });
                }
            }
            }

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

看看以下一行:

var zone = $(this).prev();

可能没有选择正确的动画元素。没有HTML标记很难说,但你必须将它改为另一个选择器。

由于您的.monter元素可能位于滚动容器之前,请尝试将其更改为:

var zone = $(this).next();