これは、昨日私が尋ねた質問の続きであり、この質問から派生したものです。
基本的に、私はjqueryを使用してページのスクロール時にcssの背景画像を変更していますが、最初の訪問時に、スクロール時に背景が変更されると、ロードが開始され、ユーザーエクスペリエンスが低下します。
これが一度だけ発生するようにキャッシュヘッダーを使用していますが、まったく発生しなければいいのですが。
ページがスクロールする前に 2 番目の CSS 画像を読み込んで遷移をシームレスにするにはどうすればよいですか?
この1つの画像をバックグラウンドでロードしようとしているだけで、表示前などにページ上のすべての画像をプリロードするのではありません...
私が使用している現在のコード...
jquery
jQuery(window).scroll(function(){
var fromTopPx = 200; // distance to trigger
var scrolledFromtop = jQuery(window).scrollTop();
if(scrolledFromtop > fromTopPx){
jQuery('html').addClass('scrolled');
}else{
jQuery('html').removeClass('scrolled');
}
});
CSS
html {
background-repeat: no-repeat;
background-position: center center;
background-attachment: fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
html {
background-image:url(http://robt.info/wp-content/uploads/2013/06/funny-kids-comic-animals.jpg);
}
html.scrolled {
background-image:url(http://robt.info/wp-content/uploads/2013/06/funny-kids-comic-animals_2.jpg);
}
デモ- スクロールして動作を確認します。