2011-04-08 54 views
0

我想我在這裏有一個大腦放屁...另外,請注意,setTimeout和硬編碼6只是爲了測試動畫。它最終會出現在​​中,並對圖像進行計數。反正這個代碼:JavaScript/jQuery裝載器數學問題

var imagesLoaded = 0; 

var loader = function(){ 
    setTimeout(function(){ 
     if(imagesLoaded < 6){ 
     imagesLoaded++; 
     console.log($('.'+settings.loaderClass).width()/imagesLoaded+'px') 
     loader(); 
     } 
    },500) 
} 

loader(); 

幾乎可以工作,但數學是問題。這倒退了。好吧,讓我扭轉它想:

console.log(imagesLoaded/$('.'+settings.loaderClass).width()+'px') 

但後來我得到:

0.0026041666666666665px 
0.005208333333333333px 
0.0078125px 
0.010416666666666666px 
0.013020833333333334px 
0.015625px 

而且,很明顯,這是行不通的。我不得不做的數學是什麼?基本上標記僅僅是:

<div class="loader"> 
    <div class="loaderBar"></div> 
</div> 

和即時通訊只是增加.loaderBar的寬度。

謝謝!

回答

1

的console.log(($( ' '+ settings.loaderClass).WIDTH()* imagesLoaded/6)+' 像素')

凡6是加載的圖像的總數,這是你的情況可能是一個變量。然後序列變爲WIDTH * 0/6,WIDTH * 1/6,WIDTH * 2/6 ...,如果需要顯示100%完成,您可能需要包含一個WIDTH * 6/6的階段。

3

您需要(imagesLoaded/totalImages)* loaderWidth。