2014-04-20 58 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