Javascript 使用JQuery检测div的高度变化

Javascript 使用JQuery检测div的高度变化,javascript,jquery,Javascript,Jquery,我想在每个div高度发生变化时启动一个函数。我该怎么做 $(document).ready(function(){ var divHeight = $("#share-something-textarea").css("height"); setInterval(function(){ if(divHeight !== $("#share-something-textarea").css("height")){ //something he

我想在每个div高度发生变化时启动一个函数。我该怎么做

$(document).ready(function(){
    var divHeight = $("#share-something-textarea").css("height");
    setInterval(function(){
        if(divHeight !== $("#share-something-textarea").css("height")){
            //something here
        }
    },200);
});

我认为您可以设置一个setInterval,每x ms验证一次div高度。

有多种方法可以实现这一点,无论如何,我认为这个解决方案是目前为止最好的。 有一个名为jquerymutate的Jquery库,它是为类似的事情而创建的

(当前支持的事件:宽度、高度、顶部、右侧、左侧、底部、隐藏、显示、滚动高度、滚动宽度、滚动顶部、滚动左侧)

如果要在每次div高度发生变化时启动函数,可以执行以下操作:

首先导入库:

<script src="http://www.google.com/jsapi"></script>  
<script> google.load("jquery",'1.7'); google.load("jqueryui", "1"); </script>  
<script src="mutate.events.js"></script>  
<script src="mutate.min.js"></script> 

load(“jquery”,“1.7”);加载(“jqueryui”,“1”);
然后您可以使用以下代码:

$('#div').mutate('height',function (element,info){  
    console.log('a div changed it\'s height, the function below should do something about this...');  
    $(this).css('background','red');  <-- example of action triggered after the event height changed  
}); 
$('#div')。mutate('height',function(element,info){
log('一个div改变了它的高度,下面的函数应该对此做些什么…');

$(this.css('background','red');一个好方法是使用DOM突变来验证标记特定部分中的每个更改

例如,您可以使用来检测某物的高度是否已更改,并启动回调

您可以尝试以下方法:

$('div.monitor').mutate('height',function (element,info){
      console.log('a div with  has changed it\'s height, the function below should do something about this...');
      $(this).css('background','red');
});

下面是一个很好的例子来回答您的问题:[[1]: