2016-07-20 8 views
0

私はここに座って自分の小さなウェブサイトを作成しています。 私の最初のレスポンシブなレイアウトのために、私は200pxのスクロールの後で私のヘッダーをスライドさせて修正したいと思っています。ヘッダーをスライドして固定します

$(window).scroll(function(){ 
    var header = $('header'), 
     scroll = $(window).scrollTop(); 

    if (scroll >= 200) header.addClass('fixed'); 
    else header.removeClass('fixed'); 
}); 

200pxの後にヘッダを固定する:

私はここにこのコードを持っています。しかし、この解決策は少し難しいです。 あなたが私を助けてくれることを願っています。サポートありがとう。

+0

「この解決策は少し難しいですか」それは動作しますか?それを実装する方法がわからないということですか? –

+0

つまり、ヘッダーが直接ペイントされたり、フェードインまたはスライドしたりしないことを意味します。私が英語で説明するのは難しいです。申し訳ありません:-( –

答えて

1

あなたのヘッダーオブジェクトにクラスを追加することを忘れているかもしれないと思います。あなたは、クラス=「」ヘッダを持つdiv要素を持っている場合は、あなたの変数の宣言は次のようになります。ここでは

var header = $('.header'), 

は、このコードの動作の一例とlink to a jsfiddleです。

+0

良いキャッチ - 私は私の答えでそれを逃した+1 – gibberish

+0

いいえ、私は

これは正しいとあなたのソリューションは私のように見えるので使用しています。そして、私の問題があります。スクロールして固定した200pxの後、ヘッダーのヘッダーが上から下にスライドするようにします。 –

+0

アニメーションでヘッダーをスライドさせて修正したいのですか? –

0

これはあなたにスタートを与えるかもしれません。 ブール変数を追加して、クラスの追加/削除回数を制限することに注意してください。

//javascript: 
//Define variables outside the scroll function 
var win = $(window), header = $('header'), isDown = false; 

win.scroll(function(){ 
    //This function fires thousands of times, so limit that 
    scrollpos = win.scrollTop(); 
    if (!isDown && scrollpos >= 200){ 
    header.addClass('fixed'); 
    isDown = true; 
    }else if (isDown && scrollpos < 200) 
    header.removeClass('fixed'); 
    isDown = false; 
    } 
}); //END window.scroll 


<!-- HTML --> 
<!-- Remember to add the jQuery library (just above `</body>` in document) --> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
+0

こんにちは、あなたの助けてくれてありがとうが、この人はうまく動作しないのですか? –

+0

「働かない」と言ってはいけません。それは良いデバッグではありません。それは何をするためのものか? –

+0

あなたは正しいティムです、あまり役に立ちません。 しかし、私は何も見ません。私はにコードを追加しました。私が下にスクロールすると、固定ヘッダーなどはありません。 –

関連する問題