私は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ページ付けとコンテンツの読み込みを実装するまではかなりうまくいきました。サイドバーは、1ページ目を表示したときにのみスクロールし、2ページ目がajaxを介して読み込まれると、サイドバーはスクロールしません。あなたはここでそれを見ることができます。
コードを希望どおりに機能させるために、コードを変更する必要があるアイデアはありますか?