Javascript 使用JQuery检测div的高度变化
我想在每个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
$(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]: