2014-04-20 145 views
-4

我有一個1440 * 900的顯示器;一個帶有頁眉,頁腳和兩個DIV之間的頁面(第一個是我的主要內容DIV,第二個是在它下面,具有相同的寬度)調整大小div在Chrome中很慢

我需要調整第二個DIV(它使用相同的背景爲主要內容DIV一樣)感到頁腳和窗口的底部之間的差距(如果有一些)

我用這個代碼:

while($("#page").height() < wh){ 
    $("#spacer").css('height', (parseInt($("#spacer").css('height').replace('px', '')) + 1) + 'px'); 
} 

我用它在文件就緒(jQuery的) ,但它在Chrome中凍結(但不是在Firefox中)。

+0

它凍結,因爲它停留在其中一個while循環中,嘗試調試它並查看會發生什麼。 – Hatsjoem

+2

我對警隊感到非常不安,彷彿數百萬只小貓在恐怖中大喊大叫 – Pointy

+8

如果你發現自己複製粘貼的代碼,你就錯了。如果你發現自己的複製和粘貼代碼*七次*你肯定是做錯了。 – Tomalak

回答

0

您可以嘗試在CSS文件中爲不同大小製作類,然後使用jQuery來更改類。可能會更快。

.addClass

.attr( 'heightClass', 'whateverClassYouWant')

0

那是什麼?該代碼重複。我不會使用時間。我會使用事件檢測器,

$(window).resize(function(e) { 
    if ($(window).height>value) { 
     //do stuff 
    } 
    else if ($(window).height<value) { 
     //do stuff 
    } 
} 
); 

$(document).ready (function(e) { //the same }); 

雖然使速度變慢。儘量不要在那些事件中使用,雖然還沒有爲此創建,但是有事件監聽器,而在那裏呆到那裏直到條件改變或者你破壞它。

+0

「我在文檔就緒中使用它」:| –

+1

*「儘量不要在javascript中使用」* - 這完全是無稽之談。 (提示:這裏不是導致問題的語言結構,它是它的使用方式,避免'while'向你購買任何東西,JS有很多其他語言結構會錯誤地使用,你沒有幫助OP就像*「避免'while''*。除此之外,使它看起來像'while'是'advanced'也是沒有用的。) – Tomalak

+0

@EbrahimTahernejad嘗試這樣做。如果你告訴我你到底想做什麼,我可以幫你建立代碼。複製和粘貼在相同的條件下沒有意義,代碼也不合理。你必須思考JS在讀取它時會做什麼,幫助你理解代碼是如何工作的,以及如何讓它工作 - 並儘可能快地進行。 – qaztype