设置我正在动态加载的元素的高度时遇到一些麻烦。
我使用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('<?php the_permalink(); ?>', function()
{
if (jQuery('#cbox').height() < jQuery('#content').height())
{
jQuery('#cbox').height(jQuery('#content').height());
}
else
{
jQuery('#cbox').height('100%');
}
});
但它不起作用......任何想法?
答案 0 :(得分:16)
您需要在加载内容后调用回调函数。
jQuery('#cbox').load('externalpage.php', function() {
jQuery('#cbox').height(jQuery('#content').height());
});
答案 1 :(得分:4)
使用加载回调。
jQuery('#cbox').load('externalpage.php', function() {
jQuery('#cbox').height(jQuery('#content').height());
});