使用document.getElementByID('div1').clientHeight
如何检测div1的高度是否发生变化?检测DIV高度是否发生变化
如果条件(Div1的高度变化)满足,我需要进行操作。
E.g.
if(document.getElementByID('div1').clientHeight != //old div1's height)
{
// do my operation
}
任何人都可以提供给我这种JavaScript的语法。
使用document.getElementByID('div1').clientHeight
如何检测div1的高度是否发生变化?检测DIV高度是否发生变化
如果条件(Div1的高度变化)满足,我需要进行操作。
E.g.
if(document.getElementByID('div1').clientHeight != //old div1's height)
{
// do my operation
}
任何人都可以提供给我这种JavaScript的语法。
我可以使用jQuery像这样
$(elm).resize(function(event) {
alert('resized!');
/* ... other code ... */
});
更多信息请参见http://api.jquery.com/resize/。
独立于任何实现,您应该使用throttler:“resize处理程序中的代码不应该依赖处理程序调用的次数。根据实现,调整大小事件可以在调整大小时继续发送(在Internet Explorer和基于WebKit的浏览器(如Safari和Chrome)中的典型行为),或者在调整大小操作结束时(一些其他浏览器(如Opera)中的典型行为)。
btw,jquery未被标记。 :) – Dev 2012-01-27 14:50:41
不适用于DIV ... – 2012-01-27 14:50:55
@ŠimeVidas啊,你似乎是正确的。不过,您可以手动触发“调整大小”事件,例如基于点击或键盘操作。 – 2012-01-27 14:54:50
document.getElementById('div1').onresize = function() {...};
把你想要的任何代码放入函数中。
我不是100%肯定这会工作。您最好拥有一个setInterval
,它会检查offsetHeight
是否已经更改并相应地执行。
没有。这是行不通的。 – 2012-01-27 14:55:05
这没有工作:( – 2012-01-27 14:56:51
利用div的style属性。也许你的老div1的高度是20px;
if(document.getElementByID('div1').style.height != 20px;)
{
// do my operation
}
在什么情况下DIV的高度发生变化?你在操纵它的内容吗?如果是的话,只要你改变它的内容就触发操作。 – 2012-01-27 14:47:36
另外'window.resize'可以改变DIV的高度 – 2012-01-27 14:49:58
是啊!随着新数据将被添加到div1中,div1的高度会动态变化。 – 2012-01-27 14:50:03