我有一个简单的问题,我想换一个画面,当用户滚动页面(使3D画面的错觉)更改JavaScript中地位的背景下,奇怪的问题
第一种方法是改变形象src每次(使8个不同的图片),但我可以看到浏览器时,我滚动的滞后,效果不好。这样,我就有了制作单个图像的想法,在用户滚动时改变背景位置。
这工作完美(当一切都加载)时,唯一的问题是当用户滚动,每当背景位置正在改变,浏览器重新加载图片。所以,等待会很多。看起来像加载不同的图片,但它只是一个。
我不明白为什么,图片总是一样的,为什么会出现这个问题?有人知道另一种解决方案?
这是脚本:
<script type="text/javascript">
jQuery('.qty-cart-btn2').hide();
jQuery('.shoes-360-2').css('backgroundImage','url(shoes_img1/360.png)');
require(['jquery', 'jquery/ui'], function($){
jQuery(function(){
jQuery(window).scroll(function(){
if(jQuery(this).scrollTop() >= 30) {
jQuery('#back-shoes')
.css({'background-position-y':'-264px'})
}
if(jQuery(this).scrollTop() >= 45) {
jQuery('#back-shoes')
.css({'background-position-y':'-528px'})
}
if(jQuery(this).scrollTop() >= 60) {
jQuery('#back-shoes')
.css({'background-position-y':'-792px'})
}
if(jQuery(this).scrollTop() >= 75) {
jQuery('#back-shoes')
.css({'background-position-y':'-1056px'})
}
if(jQuery(this).scrollTop() >= 90) {
jQuery('#back-shoes')
.css({'background-position-y':'-1320px'})
}
if(jQuery(this).scrollTop() >= 105) {
jQuery('#back-shoes')
.css({'background-position-y':'-1584px'});
}
if(jQuery(this).scrollTop() >= 120) {
jQuery('#back-shoes')
.css({'background-position-y':'-1848px'});
}
});
});
});
</script>
非常感谢您
你有一个演示不应该发生 –
你描述的行为。第一种方法:使用图像预加载器。 – Justinas
我是全新的js,我应该如何使用图像预加载器?谢谢 – Ribis