0

我正在为我创建一个网站,我想要一个 div 滚动一定量然后得到修复。我可以做到这一点,但遇到了一些意想不到的问题。

HTML

<div class="nav">
    Something...
</div>

CSS

.nav
{
position:relative;
width:100%;
padding-left:340px;
background:yellow;
border-bottom:2px solid black;
height:45px;
top:150px;
}
.stick
{
position:fixed;
top:0px;
}
html{height:2000px}

jQuery

$(document).ready(function() {
var s = $(".nav");
var pos = s.position();                    
$(window).scroll(function() {
    var windowpos = $(window).scrollTop();
    if (windowpos >= pos.top) {
        s.addClass("stick");
    } else {
        s.removeClass("stick"); 
    }
});
});

JSfiddle

http://jsfiddle.net/4J4JE/

请帮助它回到原来的位置,不要再滚动了,谢谢。

4

1 回答 1

0

如果您不希望它回到原来的位置,请删除else您的if (windowpos >= pos.top)条件部分,以便stick在您向上滚动时不会删除该类。

$(document).ready(function() {
  var s = $(".nav");
  var pos = s.position();                    
  $(window).scroll(function() {
    var windowpos = $(window).scrollTop();
    if (windowpos >= pos.top) {
      s.addClass("stick");
    }
  });
});

演示

于 2013-06-28T20:23:34.160 回答