jQuery粘性侧边栏失败:抛出侧边栏的位置

时间:2014-02-03 12:04:51

标签: javascript jquery html css

大家好,我正在尝试制作一个粘性侧边栏,但它无法正常工作。任何帮助将非常感激。滚动时会发生什么,侧边栏被抛出左侧位置。正如你在小提琴中看到的那样,只有在这里我才使用图像。这是一个Js fiddle。 任何想法我做错了什么或我如何使这项工作?

提前致谢!

jQuery代码

jQuery(function() { // document ready
        var sideBarTop = $('#sidebar').offset().top;
        var sideBarLeft = $('#sidebar').offset().left
        jQuery(window).scroll(function(){ // scroll event
            var windowTop = $(window).scrollTop(); 
            if(sideBarTop < windowTop) {
                $('#sidebar').css({position: 'fixed', top: 0, left: sideBarLeft});
            }
            else {
                $('#sidebar').css('position', 'static');
            }
        });

    });

1 个答案:

答案 0 :(得分:0)

此问题是由您在#sidebar上设置的百分比值引起的。当它是静态时,百分比值将基于其父元素,但是当您切换到position:fixed百分比将基于window/viewport时,您可以在此处查看规范:http://www.w3.org/TR/CSS2/visuren.html#positioning-scheme