我有一组div,通过它们包含的内容的高度来达到它们的高度。我这样做的原因是因为我想切换这些div中的内容,但是希望它们相应地调整它们的高度,这也与在动画期间调整它们的高度有关。问题是当我在高处加载新内容时没有正确调整。我正在加载文本,并使用jquery .load并使用spans来包含它所持有的外部页面中的文本,如果我包含带有
的文本由于某种原因它会失去格式化.load,不知道为什么。我需要帮助让容器符合.load更改的内容。
http://klossal.com/brigham_about2.html这是页面,顶部动画是使用.load的动画而不是正确调整高度,你可以在开始动画时看到它。第二个动画是使用内联内容和容器调整他们想要的方式。
$("#outpt_main_open").click(function() {
$('#header_img_outpt_main').load('/brigham_profiles2.html
#header_karlene_salguero_photo');
$('#header_paragraph_outpt_main').load('/brigham_profiles2.html
#header_txt_karlene_salguero');
$('#bio_txt_outpt_main').load('/brigham_profiles2.html #bio_txt_karelene_salguero');
$('#edu_txt_outpt_main').load('/brigham_profiles2.html #edu_txt_karelene_salguero');
$('#contact_txt_outpt_main').load('/brigham_profiles2.html
#contact_txt_karelene_salguero');
profile_outpt_main_open_animation();
});
这是提示加载的按钮。我是否需要首先发生加载然后提示动画功能?或者我是否需要以某种方式使用新的加载内容重新采样变量,或者他们是否自己这样做?或者这是完全不同的东西?非常感谢任何帮助,这让我疯狂。
答案 0 :(得分:0)
问题是动画函数profile_outpt_main_open_animation()
使用了元素的原始高度,而不是加载新内容后的新高度。要解决此问题,请在计算每个元素的顶部时使用.height()
函数。
所以,例如,而不是
$("#profile_outpt_main_BIO").delay(330).animate({
top: profile_outpt_main_HEADER_ht + 20
}, 400);
而是使用新的高度:
$("#profile_outpt_main_BIO").delay(330).animate({
top: $("#profile_outpt_main_HEADER").height() + 20
}, 400);
您显然必须更改此功能中所有对原始高度的引用,而不仅仅是此处演示的引用。