簡體   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