向右滚动时,div停在屏幕左侧

时间:2012-02-09 17:57:05

标签: jquery html scroll position sticky

我有一个快速的jQuery / css问题。我正在编写一个网站,并且有一个灰色的框,里面有内容/链接,当用户向右滚动时我想要粘在屏幕的左侧。我经历过一堆论坛/教程,但仍无法找到我的解决方案。这是该网站的链接。

对于jQuery来说,我是一个新手,所以任何帮助都会非常感谢,谢谢!

http://morseandcompany.com/index-TEST.html

2 个答案:

答案 0 :(得分:0)

访问您的网页时,我收到此错误:

var docScrollRight = $('body,html').scrollRight();
                                    ^^^^^^^^^^^

这不是一个jQuery函数。试试scrollLeft()

答案 1 :(得分:0)

编辑:

这应该是您的文档就绪脚本:

$(document).ready(function() 
{
    var theLoc = $('#sidebar').position().left;
    $(window).scroll(function() {
    if(theLoc >= $(window).scrollLeft()) {
        if($('#sidebar').hasClass('fixed')) {
            $('#sidebar').removeClass('fixed');
        }
    } else { 
        if(!$('#sidebar').hasClass('fixed')) {
            $('#sidebar').addClass('fixed');
        }
    }
});
});

将此添加到您的CSS:

.fixed {position:fixed !important; left:0px !important;}

将#sidebar的CSS更改为:

#sidebar {
min-height:100%;
width:266px;
height:100%;
height: auto !important; /*for modern browsers */ 
background-color:#F2F2F2;
z-index:2;
} 

并将侧边栏的HTML更改为:

<DIV ID="sidebar" style="position:absolute; left:765px;"></DIV>