2012-08-17 20 views
0

得到屏幕寬度的最後一個多我有一個客戶端,是使用兩個圖像作爲背景圖片,其中第一個瓷磚的屏幕的寬度,則第二個有一個淡出的遠堅持對。客戶堅持使用最右邊的淡出來完成,所以它看起來不奇怪。的Javascript 600

他的瓷磚背景圖像是600px寬,這是斑馬圖案!所以它必須排隊。

因此,要獲得最後的圖像排隊的權利與我必須以某種方式使用JS告訴它地方,最後一個div從屏幕右側的600px的最遠最多的格局。我有從右邊的div定位,我無法在JS中得到的是計算從左邊的哪個像素是600的最遠倍數。

我在這裏絞盡腦汁,無法計算出一個出來,如何從大量的數據中計算出600的最後一個倍數是多少。

任何想法?

因此,如果一個屏幕是1235從左側寬滾動條則600最遠最倍數爲600 :)

但如果屏幕是2564寬則600最遠的多是1800

+0

看來,我認爲可能的表現公式來獲取這些值是'(Math.floor(X/600) - 1)* 600' – 2012-08-17 18:08:24

+0

爲什麼-1,@FelixKling? – Qnan 2012-08-17 18:09:53

+1

@Qnan:如果函數應該爲'1235'而不是'1200'返回'600'(對於另一個值是相同的),那麼您必須比'600'適合數字的次數少一倍。 '1235 = 2 * 600 + 35 => 1 * 600 = 600'和'2564 = 4 * 600 + 164 => 3 * 600 = 1800'。 – 2012-08-17 18:11:32

回答

1

首先除以你想要的倍數,然後floorceil取決於你的需要,然後再乘以數字。這會給你在給定數字下面(分別在上面)的最接近的倍數。

但是,我個人做了一些沒有這麼不同的東西。我有一個視差滾動的背景效果,在屏幕兩側,我有一個從透明漸變到純色的漸變,在背景出現在屏幕邊緣之前淡出背景。只需在屏幕一側添加帶漸變的背景圖像即可完成此操作,無需進行任何計算。

+0

這是Math.floor()在這種情況下 – Qnan 2012-08-17 18:08:23

+0

大,這是真的竊聽我的這一切算算吧!哈哈我嘗試了另一種只是背景圖像的選項,但由於它是一種沒有計算的斑馬圖案,所以圖案不能從重複背景圖像和最終圖像排列起來。 – jfreak53 2012-08-17 18:10:56

+0

@ jfreak53確保當屏幕寬度是600多的作品,像1200我認爲你需要爲 – Qnan 2012-08-17 18:11:37

相關問題