この単純なナビゲーションを背景の透明から背景の明るい緑へと徐々に移行したいと考えました。 $(window).scrollTop()jQuery関数を使用して上からの距離を取得し、10で割って滑らかな遷移を得ようと考えていますが、chromeとfirefoxで実行するとまだまだ気が利いています。ユーザーがスクロールしながら徐々にナビゲーションの背景を変更します
これを行う別の方法(よりスムーズでモダンな)がありますか?
フラットデザインアートを誘発し、ウェブサイトにシンプルで実用的な現代的な雰囲気を与えるために、デザインを非常にシンプルにしたいと思っていました。 FYI
:
私はドロップダウン、拡張などをたくないので、それらを示唆いけません。 また、色を判断しないでください。 アクチベータリンクはモバイル用です(私はドロップダウンを持っています)。気にしないでください。
マークアップ:
<nav>
<a id="activator"></a>
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">Courses</a></li>
<li><a href="#">Contact</a></li>
<li><a href="#">Log out</a></li>
</ul>
</nav>
スタイル:
<style>
nav{
position: fixed;
width: 100%;
z-index: 2;
height: 2em;
}
nav ul{
overflow: hidden;
background: #1adc8c;
height: auto;
}
nav ul li{
float: none;
text-align: center;
width: 100%;
margin: 0%;
padding: 0px;
font-weight: bold;
font-size: 1.1em;
}
nav ul li a{
display: block;
color: #FFF;
text-decoration: none;
font-family: sans-serif;
font-size: 1.2em;
padding: 20px;
}
</style>
JQとJS:
if(window.innerWidth > 400){
$(window).scroll(function(){
var fromTop = $(this).scrollTop();
if(fromTop >= 100){
$("nav").css({
"background" : "rgba(26, 220, 140,0." + fromTop/10 + ")"
});
if(fromTop >= 600){
$("nav").css({
"background" : "rgba(26,220,140,1)"
});
}
}else{
$("nav").css({
"background" : ""
});
}
});
}
は、それは、特に*スクロールの色を変更する必要がない、
codepen
1、2にこれらの例を見ることができますか?または、ページの読み込み時に上から下に線形の色が変わるだけですか? –あなたは 'transition:all 200ms;を追加できます。変更する:バックグラウンド; 'それをよりスムーズにする' 'nav''クラス。 –
か、それをより滑らかにするために '500ms'にしてください –