2011-11-21 13 views
5

スティッキーヘッダーを作成したいと思います。 。スティッキーヘッダー - スクロール - CSS/jQuery

$(function(){ 
    // Check the initial Poistion of the Sticky Header 
    var stickyHeaderTop = $('#sticky').offset().top; 
    $(window).scroll(function(){ 
     if($(window).scrollTop() > stickyHeaderTop) { 
      //$('#sticky').css({position: 'fixed', top: '0px', float: 'right'}); 
      $('#sticky').addClass("sticky"); 
     } else { 
      $('#sticky').removeClass("sticky"); 
     } 
    }); 
}); 

現在のクラスを追加し、ものの「スティッキー」:毎回ダウンユーザーがスクロールし、元のヘッダーが消えていること、そして、「スティッキー」ヘッダーがでキックすべき

を私は現在、この使用しますユーザーがスクロールを行うたびに、元のヘッダーを消さなければならないときはいつでも。

よろしく

+1

これは正常に動作します:http://jsfiddle.net/purmou/ZQwhL/embedded/result – Purag

+0

しかし、私の元のヘッダーが配置されています最初はトップに。 – oliverbj

+6

それが一番上にあれば、なぜユーザーはスティッキーになるためにスクロールする必要がありますか?ちょうどそれを 'position:fixed;'に設定してください:http://jsfiddle.net/purmou/ZQwhL/1/embedded/result,html,css/ – Purag

答えて

3

id="whateveryouwannacallit"

とセットでdivで彼をラップ:

#whateveryouwannacalltit{ 
position:fixed; 
top:0; 
left: 0; 
width:100%; 
} 
1

実は、あなたはラッピングを必要としません。ここでは、コード

$(document).ready(function() { 
    var stuck = $('#header'); 
    var start = $(div).offset().top; 
    $.event.add(window, "scroll", function() { 
    var p = $(window).scrollTop(); 
    $(stuck).css('position',((p)>start) ? 'fixed' : 'static'); 
    $(stuck).css('top',((p)>start) ? '0px' : ''); 
    }); 
}); 

クレジットは、このページに移行する:http://viralpatel.net/blogs/scroll-fix-header-jquery-facebook/

関連する問題