基本上,我使用 jquery 来更改页面滚动时的 css 背景图像,但是在第一次访问时,当滚动时背景发生更改时,它只会开始加载,从而导致糟糕的用户体验。
我正在使用缓存标头,因此这只发生一次,但如果它根本没有发生,它仍然会很好。
如何在页面滚动之前加载第二个 CSS 图像以使过渡无缝?
我只是想在后台加载这一张图片,而不是在显示之前预加载页面上的所有图片或任何东西......
我正在使用的当前代码...
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);
}
演示- 滚动查看实际操作。