4
jQueryプラグインに問題があります。ページの最後の前に特定の方法でフッターを表示したいと思います。このために、私は実際のボトムポジションを取得し、それを全身の高さと比較します。jQueryでドキュメントの実際の高さを取得する
しかし、jQuery関数のheight()が不正な値を返すという問題があります。たとえば、サイトの高さは5515pxですが、関数は値を返します:8142px
私はページのいくつかの場所でプラグインmCustomScrollbarを使用していますが、問題が発生する可能性があります。私はそれを無効にすることはできません。ページには見栄えが必要な要素があるためです。
マイコード:トミー・リオーダンに答える
(function($){
$.fn.scrollingElements = function(){
var height = $(window).height();
var max_height = $(document).height();
var prev_top = $(window).scrollTop();
var prev_bottom = top + height;
$(window).scroll(function(){
var top = $(window).scrollTop();
var bottom = top + height;
console.log(max_height, bottom);
if(prev_top < height && top > height){
// console.log('show header', 'show sticky', 'show footer small');
}
if(prev_top > height && top < height){
// console.log('hide header', 'hide sticky', 'hide footer');
}
if(prev_top < 2*height && top > 2*height){
// console.log('show sroll top');
}
if(prev_top > 2*height && top < 2*height){
// console.log('hide scroll top');
}
if(prev_bottom < max_height - 100 && bottom > max_height - 100){
// console.log('show footer large');
}
if(prev_bottom > max_height - 100 && bottom < max_height - 100){
// console.log('show footer small');
}
prev_top = top;
prev_bottom = bottom;
});
$(window).resize(function(){
height = $(window).height();
});
}
})(jQuery);
: 変更$(文書).height()document.body.clientHeightにはまだなって悪い結果を動作しませんでした。同じ効果を持つ$( 'body')。height()を使って試しました。
なぜ、 'position:fixed; CSSの下部:0'これを行うには? –
手動で得られた高さを差し引いた... –
ロリー、いいえ、できません。ボジェンドラはどういう意味ですか?ページには動的な高さがあります。手動でそこに置くことはできません。 – Manveru