【发布时间】:2012-05-17 12:22:25
【问题描述】:
我是一个真正的 js 菜鸟,所以问题如下。
我有浮动侧边栏,当它到达页脚时会停止浮动。 js代码如下:
$(window).load(function(){
$(function() {
var top = $('#sidebar').offset().top - parseFloat($('#sidebar').css('marginTop').replace(/auto/, 0));
var footTop = $('#footer').offset().top - parseFloat($('#footer').css('marginTop').replace(/auto/, 0));
var maxY = footTop - $('#sidebar').outerHeight();
$(window).scroll(function(evt) {
var y = $(this).scrollTop();
if (y > top) {
if (y < maxY) {
$('#sidebar').addClass('fixed').removeAttr('style');
} else {
$('#sidebar').removeClass('fixed').css({
position: 'absolute',
top: (maxY - top) + 'px'
});
}
} else {
$('#sidebar').removeClass('fixed');
}
});
在我实现 ajax 分页和内容加载之前,这工作得很好。 仅当我查看第一页时,侧边栏才会滚动,当通过 ajax 加载第二页时,侧边栏不会滚动。你可以看到它here。
您有什么想法我需要更改代码以使其按我想要的方式工作吗?
【问题讨论】:
-
ajax成功后再次调用滚动函数
-
怎么做?我不懂js
标签: javascript jquery ajax sidebar sticky