我正在尝试制作一个简单的粘性标头,当用户滚动时,该标头将跟随用户进入页面。
到目前为止,我有:
$(document).scroll(function() {
var topmarg = $(document).scrollTop();
$('#stickyheader').animate({ marginTop : "+=" + topmarg + "px" }, "slow" );
});
哪个可行,但似乎将金额“加”到
marginTop
,例如,如果我向下滚动200px然后向上备份100px,则#stickyheader
实际上将页面向下移动300px,而不是向下移动200px再向后移动100px起来。有没有办法修正这个?我应该改用
.css()
吗? 最佳答案
var lastscroll=0;
$(document).scroll(function() {
var topmarg = $(document).scrollTop();
if(topmarg>lastscroll){
$('#stickyheader').animate({ marginTop : "+=" + topmarg + "px" }, "slow" );
}else{
$('#stickyheader').animate({ marginTop : topmarg + "px" }, "slow" );
}
lastscroll =topmarg;
});