我基本上有和这个问题相同的问题,只是删除固定宽度只会让我的问题变得更糟。这个问题可以在这个页面上看到。奇怪的是,我在博客页面上使用了完全相同的代码,而且在任何浏览器上都没有问题。
如果人们愿意,我可以试着发布一个小提琴,但很难重现确切的问题。
这是我的JS:
if ($('.sticky-sidebar').length) {
var sideBarTop = $('.sticky-sidebar').offset().top;
stickySidebar = function() {
if ($(window).width() >= 768) {
$('.sticky-sidebar').css({
width: 0.25*($('#container').width())
});
if ($(window).scrollTop() >= (sideBarTop - $('#header').outerHeight(true))) {
$('.sticky-sidebar').css({
position: 'fixed',
top: $('#header').outerHeight(true)
});
} else {
$('.sticky-sidebar').css({
position: '',
top: ''
});
}
} else {
$('.sticky-sidebar').css({
width: $('#container').width()
});
}
};
stickySidebar();
$(window).scroll(stickySidebar);
$(window).on('resize', stickySidebar);
}
尝试以下操作。。
if ($('.sticky-sidebar').length) {
var sideBarTop = $('.sticky-sidebar').offset().top;
stickySidebar = function() {
if ($(window).width() >= 768) {
$('.sticky-sidebar').css({
width: 0.25*($('#container').width())
});
if ($(window).scrollTop() >= (sideBarTop - $('#header').outerHeight(true))) {
$('.sticky-sidebar').css({
position: 'fixed',
top: $('#header').outerHeight(true),
left : $("#content").offset().left
});
} else {
$('.sticky-sidebar').css({
position: '',
top: ''
});
}
} else {
$('.sticky-sidebar').css({
width: $('#container').width()
});
}
};
stickySidebar();
$(window).scroll(stickySidebar);
$(window).on('resize', stickySidebar);
}
添加到左侧的粘性标头