jquery,window.scroll,定位横幅

时间:2010-01-04 13:26:32

标签: jquery

我想在滚动时定位横幅:

代码是

$(window).scroll(function(){
    offset = $(window).scrollTop()+80;
    var h = $(window).height();

    if(offset < 80 && offset < (h-800))
    {
        offset = 80;
    }

    $('#sidebar1').animate({top:offset}, 450);
});

问题是偏移是动态的,当它向下滚动时它会改变,横幅超出窗口,向下滚动时它会缓慢向上滑动。我想在上下滚动时持续动画。

是否存在像bottom而不是top的属性,或者是否存在除滚动以外的事件以实现常量滚动?

3 个答案:

答案 0 :(得分:5)

旧帖子我知道但如果有人在寻找解决方案,请参阅jQuery stop方法,代码如下所示。

$(window).scroll(function(){
    offset = $(window).scrollTop()+80;
    var h = $(window).height();

    if(offset < 80 && offset < (h-800))
    {
        offset = 80;
    }
    $('#sidebar1').stop();
    $('#sidebar1').animate({top:offset}, 450);
});

答案 1 :(得分:0)

请参阅此链接 - http://net.tutsplus.com/tutorials/html-css-techniques/creating-a-floating-html-menu-using-jquery-and-css/

前一段时间我也围绕这个话题提出了一个问题,这可能对你有用。它是上述示例的修改版本 - Floating Scrolling Div with vertical constraints

如果这不是你想要的,也许你可以提供更多关于你的问题的解释,可能是哪些截图,甚至是一个示例网站。

答案 2 :(得分:-1)

以下是关于Chris Hanscom回答的问题的一个非常有趣的主题 - 微软MVP:

Microsoft Forums

在这个帖子中提到...一个很好的小插件,用于在所有可用方向上滚动jquery: JScroller

希望这会有所帮助......