所以我有一些动态div,我需要弄清楚它们何时改变的高度。我可以在文档加载时获得高度,但不会更新。
在示例中,我添加了一个更大的按钮,但是它会通过jq&更改。 AJAX
是的,我无法在动画按钮上添加回调,因为它不会在那里。
答案 0 :(得分:3)
您所要做的就是再次调用outerHeight():
$('#makeBigger').click(function(){
$('#buyNow').animate({
height: '+=10px'
}, function() {
var newHeight = $('#buyNow').outerHeight();
// ...
})
});
如果将函数传递给animate()
作为第二个参数,那么在动画完成时将调用该函数。那时,你可以获得新的高度并随心所欲地做任何事情。如果<div>
由于其内容被重新加载而发生更改,那么您将在ajax例程的回调中执行相同的操作。
答案 1 :(得分:1)
看看你的jsbin的this edit。
一些变化:
您的窗口事件可以与$(window).bind('load resize', resizeFrame)
您想将resizeFrame
称为动画回调,让它知道尺寸已更改...
如果您无法控制动画功能更改高度(如评论所示),您可以使用setInterval
轮询高度。
setInterval(resizeFrame, 150);
每150毫秒调用一次resizeFrame
函数。你可以检查高度,看看它们是否已经改变,并做任何你需要的......
答案 2 :(得分:0)
设置Div高度
var h = $('#content').height();
获得Div高度
var h = 500;
$('#content').height(h);
您需要查找MultiView内容更改时触发的事件。完成后,您应该能够调用具有相应XXX.height()调用的函数。我不太熟悉ASP给你的具体细节。