2016-09-13 12 views
0

基本的に、スクロール位置がページの一番下にあるかどうかを確認し、それに基づいてクラスを追加して削除します。しかし、固定クラスを削除すると、私はページの一番下にスクロールできません。ブラウザはすでに私が一番下にいると仮定します。どうすれば修正できますか?これが意味をなさない場合は、私に知らせてください。以下は私のコードです:スクロール位置が下にあるときの固定位置への変更

はJavaScript:

function fixedToRelative(){ 
    var scrollPos = $(window).scrollTop() + $(window).height(); 
    if(scrollPos == $(document).height()) { 
     $('.mobile.full').removeClass('fixed'); 
    } else { 
     $('.mobile.full').addClass('fixed'); 
    } 
} 

のCss:

.mobile { position:relative; } 
.mobile.fixed { position:fixed; bottom:0; left:0; right:0; } 

enter image description here

+0

それは問題が何であるか不明だが...また、どのように機能をトリガしたのですか?スクロールで? – DaniP

+0

関連コードを追加してください – herrh

+0

現在、私はスクロールのスクロール位置を確認しています。上記の例を見ると、ページ下部にスクロールするスペースがあることがわかります。相対的な配置を追加した後、これが実行されます。それ以上はスクロールできません。私が物事をやっているやり方、私はそれが窓がすでに底にスクロールされているように行動することを信じています。 – jesders88

答えて

1

私はあなたがスクロールするときに.fixedクラスを追加追加しようとしていると思いますページの下部に移動します。もしそうなら、あなたが何かを行うことができます:

Codepen

$(window).on('scroll', function(){ 
    var scrollPos = $(this).scrollTop() + $(this).height(); // Current Scroll position plus height of window 
    var atBottom = (scrollPos == $(document).height()); // Returns true/false based on if at bottom 
    $('.mobile').toggleClass('fixed', atBottom); // If at bottom of page, fixed class is appended 
}); 
+0

完璧!ここでどこが間違っているのか説明してもらえますか? – jesders88

+0

クラスの追加/削除を元に戻したようです。それ以外は、うまくいくはずです。しかし、あなたが 'fixedToRelative()'関数をどのように実行しているかは、あなたがそれを示していないのでわかりません。何か問題があるかもしれません。 –

関連する問題