如何在每次 div 大小改变时运行一个函数?

发布于 2024-10-14 04:41:27 字数 251 浏览 0 评论 0原文

如何在每次 div 大小改变时运行一个函数?

当窗口改变其大小时,Div 的大小通常也会改变,但不仅如此; 新的宽度/高度并不是每次都由CSS设置,但我需要在每次改变时获取该高度的真实宽度/高度。

我使用 jQuery,所以基于此就好了;

它必须在 chrome、ff2、ff3、ie6 中工作(如果不能工作,我可能会用计时器滞后用户的浏览器 xD)ie7、safari、opera...换句话说,最流行的浏览器,

谢谢;)

How to run a function everytime a div changes its size?

Div's size normally changes when the window changes its size, but NOT only;
The new width/height are not everytime set by css, but I need to get the real width/height of that height when everytime it changes.

I use jQuery, so based on this would be good;

It must work in chrome, ff2, ff3, ie6(if can't work I might lag user's browser with a timer xD) ie7, safari, opera... in other words the most popular browsers

thanks ;)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

紧拥背影 2024-10-21 04:41:27

这个问题已于 11 年提出,但当我通过 Google 来到这里时,我想澄清一些事情。

1)几乎所有浏览器中已经有一种可靠的方法来检查元素是否已更改。检查我的库:

http://marcj.github.io/css-element-queries/

该库有一个类ResizeSensor,可用于调整大小检测。它使用基于事件的方法,因此速度非常快并且不会浪费 CPU 时间。

2) 请不要使用 jQuery onresize 插件,因为它使用 setTimeout() 循环来检查更改。这非常慢而且不准确。

This question has been asked '11, but as I came here via Google I want to clarify some things.

1) There is already a solid method to check if a element has been changed in almost all browsers. Check for this my lib:

http://marcj.github.io/css-element-queries/

This library has a class ResizeSensor which can be used for resize detection. It uses a event-based approach, so it's damn fast and doesn't waste CPU time.

2) Please do not use the jQuery onresize plugin as it uses setTimeout() loop to check for changes. THIS IS INCREDIBLY SLOW AND NOT ACCURATE.

橪书 2024-10-21 04:41:27

这里是一个扩展 jQuery 的 resize() 事件的插件适用于任何元素,而不仅仅是窗口。

Here is a plugin that extends jQuery's resize() event to work on any element, not just the window.

清君侧 2024-10-21 04:41:27

尝试 onresize 事件 (http://www.w3schools.com/jsref/event_onresize.asp):

<div onresize="alert('You have changed the size of the window')"></div>

Try the onresize event (http://www.w3schools.com/jsref/event_onresize.asp):

<div onresize="alert('You have changed the size of the window')"></div>
优雅的叶子 2024-10-21 04:41:27

这是一个使用轮询来完成您需要的演示...

..但是,如果上面提到的 resize() 插件按照您需要的方式工作,那么它看起来是更好的做法。

Here is a demo that uses polling to accomplish what you need...

...but the resize() plugin mentioned above looks like better practice if it works the way you need it to.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文