jquery设置高度加载后
我在设置动态加载的元素的高度时遇到了一些麻烦。
我使用jquery load
函数将外部(动态)页面加载到当前页面上的div(#cbox)中。 因为这个子页面是动态的,所以我不知道内容的高度是什么。 我想在加载内容后获得高度,并将容器div的高度设置为匹配,以便我的颜色背景css一直向下。 我在css中尝试了100%高度div的许多变化,但是一旦我滚动页面,颜色就会向上滚动(100%似乎只设置了浏览器窗口高度的100%,而b / c内容是动态的加载它不起作用。我的解决方案是将div的高度设置为加载内容的高度,但这仅适用于SECOND点击(因为此时页面已加载并可访问。我需要弄清楚怎么做是在外部页面加载后更改div的高度,但我似乎无法弄明白)。
我希望这对某人来说是可以理解的,我知道这有点令人费解。
这是我的onclick代码:
jQuery('#cbox').load('externalpage.php'); jQuery('#cbox').height(jQuery('#content').height());
更新:如果我想将高度设置为该div,则下面的解决方案有效。 但是现在我发现我只想将它设置为div高度,如果内容高度比窗口更高。 否则我希望它设置为100%。 我尝试稍微修改它们的代码(onlick事件):
jQuery('#cbox').load('', function() { if (jQuery('#cbox').height() < jQuery('#content').height()) { jQuery('#cbox').height(jQuery('#content').height()); } else { jQuery('#cbox').height('100%'); } });
但它不起作用……任何想法?
加载内容后需要调用回调函数。
jQuery('#cbox').load('externalpage.php', function() { jQuery('#cbox').height(jQuery('#content').height()); });
使用加载回调。
jQuery('#cbox').load('externalpage.php', function() { jQuery('#cbox').height(jQuery('#content').height()); });