提案をお寄せいただきありがとうございます。基本的な視差スクロール要素を使用するサイトを構築しようとしています。基本的に、ヘッダーはページの上部から 60% の位置に配置されます。ユーザーがスクロールすると、ヘッダーの下のコンテンツがヘッダーに追いつき、その下に流れます。
これらすべてを完全に機能させることができますが、ヘッダーがページの上部に表示されたときにヘッダーをページの上部に貼り付けたいと思います。ある程度の作業はできましたが、ヘッダーがスタックすると、非常に派手/ジャンプします。同様の問題を抱えている他の人を見たことがありますが、ヘッダーの位置を静的から固定に切り替えたことが原因のようですが、私のレイアウトではヘッダーは常に固定されているため、少し困惑しています。私が使用しているポジショニングは少し奇妙に思えるかもしれませんが、多くの実験の後、これは私が得ることができる最も近いものです.
JSFiddle とコードは次のとおりです。
http://jsfiddle.net/kromoser/Lq7C6/11/
JQuery:
$(window).scroll(function() {
var scrolled = $(window).scrollTop();
if (scrolled > $('#header').offset().top) {
$('#header').css('top','-60%');
}
else {
$('#header').css('top',(0-(scrolled*0.6))+'px');
}
});
CSS:
body {
margin: 0;
padding: 0;
width: 100%;
height: 100%;
}
#header {
position: fixed;
top: 0;
margin-top: 60%;
z-index: 3;
background: #FFF;
width: 100%;
}
#content {
min-height: 100%;
position: relative;
top: 100%;
}
HTML:
<div id="header">This header should stick to top when scrolled.</div>
<div id="content">Content goes here</div>
助けてくれてありがとう!