はじめまして。HTML等について勉強中の者です。
なかなか自分一人ではうまくいかないため、皆様にお力を貸していただければと思います。
いまスマホサイトを作っております。
スマホのTwitterアプリやLINE MUSICのスクロールした時のヘッダー部分の動きをHTMLとCSSで再現したく思っています。
jsでクラスの付与を、CSSで動きをと試していますがうまくいきません。
ヘッダー部分のサイズが小さくなる分スクロールするコンテンツがガクッと落ちてしまったり、滑らかに動かなかったり…。
できれば、スクロールと同時にじんわりとブラーがかかり、ヘッダーの高さが小さくなって、メニューバーと合わせて固定というように動かしたいのですが実現する方法はありますでしょうか。
知識が足りずお恥ずかしい限りですが、アドバイスいただけますと大変ありがたいです。
どうぞよろしくお願いいたします。
lang
1<div id="fixed_head"> 2 <header id="main_header"> 3 <h1 class="heading"><img src="images/title.png" alt="タイトル"></h1> 4 </header> 5 6 <div id="menu_bar"> 7 <ul> 8 <li><a href="/">メニュー1</a></li> 9 <li><a href="/">メニュー2</a></li> 10 <li><a href="/">メニュー3</a></li> 11 </ul> 12 </div> 13</div>
lang
1#main_header { 2 background-image: url(../images/main.jpg); 3 background-size: cover; 4 background-position: center; 5 width: 100%; 6 margin: 0 auto; 7 -webkit-transition-duration: 2s; 8 transition-duration: 2s; 9} 10#main_header:before { 11 content: ''; 12 float: left; 13 padding-bottom: 85%; 14} 15 16.fixed #main_header { 17 background-image: url(../images/main_blur.jpg); 18} 19.fixed #main_header:before { 20 content: ''; 21 float: left; 22 padding-bottom: 20%; 23}
lang
1<script> 2$(function(){ 3 var Header = 100; 4 $(window).scroll(function() { 5 var scroll = getCurrentScroll(); 6 if ( scroll >= Header ) { 7 $('#fixed_head').addClass('fixed'); 8 } 9 else { 10 $('#fixed_head').removeClass('fixed'); 11 } 12 }); 13function getCurrentScroll() { 14 return window.pageYOffset || document.documentElement.scrollTop; 15 } 16}); 17</script>
参考にさせていただきました
http://codepen.io/ManarKamel/pen/mJtpH
http://qiita.com/zaru/items/82d61ac90394885fb486
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/08/26 09:42 編集