繁体   English   中英

更改时背景图像闪烁

[英]background image flicker when change

我正在尝试使用以下脚本更改 div 的背景图像:

  $.fn.preload = function() {
                          this.each(function(){
                         $('<img/>')[0].src = this;
                        });

                }
$(document).ready(function(){
           var images = [];
           for( var i=0; i<8; i++){
                images[i] = 'imgs/'+i+'.png';
           }
           $(images).preload();
            var i = 0;
                setInterval(function(){
                $('.header').css({'background-image':'url(imgs/'+i%8+'.png)'});
                i++;
            }, 700);
    });

但是图像在 chrome 和 firefox 上都在变化时闪烁,tp 如何解决这个问题?

浏览器需要发出一个新请求来获取图像,并且在浏览器发出该请求时它会闪烁,以便您的预加载工作,您似乎从预加载图像中知道,但没有将图像附加到 dom 中,通常它不会要求的。 我会将您的函数重写为与此类似的函数。 正如这个答案中提到的。

preloadImages(images) {
    images.forEach((url) => {
       var img=new Image();
       img.src=url;
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM