jquery窗口调整大小帮助请

时间:2009-12-31 13:19:28

标签: jquery resize window

$(窗口).resize(FOO())

检测窗口何时调整大小...

foo()工作正常,但它只在调整大小完成后触发foo(),所以在重新调整大小时不会。

有没有办法顺利调整大小。也许一个cancelBubble可能与它有关,但我不熟悉它。

4 个答案:

答案 0 :(得分:3)

通过收听窗口resize事件,您无法准确地完成所需内容。

查看Google地图或阅读器,尝试垂直调整窗口大小。请注意,这些应用程序表现出相同的行为。

仔细看看你的CSS。我发现有时CSS可以做一些非常令人惊讶的事情。如果您发布一些代表您问题的示例HTML和CSS,我们可能会设计出一个解决方案。

如果绝对不能容忍在用户完成窗口大小调整之前等待,您可以在短时间内轮询document.scrollWidthdocument.scrollHeight。每当他们改变时,请调用您的调整大小代码。请注意,轮询这些属性可能非常昂贵。我建议不要这样做,但它会解决问题。

如果您使用的是Internet Explorer,则根据版本的不同,您需要使用document.documentElement.scrollWidthdocument.body.scrollWidth(以及scrollWidth的类似内容)。

Firefox 3.6将支持用于确定document.scrollWidthdocument.scrollHeight何时更改的事件,尽管它看起来不合标准:

https://developer.mozilla.org/en/DOM/Detecting_document_width_and_height_changes

答案 1 :(得分:2)

窗口调整大小后触发的resize事件几乎就是这样。我认为你无能为力。

答案 2 :(得分:2)

从jQuery文档中,当你真正处理IE行为时,你似乎遇到了Firefox行为。

  

根据实施情况,调整大小事件可以在调整大小正在进行时连续发送(基于Internet Explorer和基于WebKit的浏览器(如Safari和Chrome)中的典型行为),或者仅在调整大小操作结束时发送一次( Firefox中的典型行为)。 http://api.jquery.com/resize/

有趣的是,在同一页面上是对插件的评论,这可能使行为跨浏览器(我没有看过这个)

答案 3 :(得分:0)

这让我想知道你为什么要做这样的事情。如果你可以具体,也许我可以向你建议一个CSS解决方案?