尝试重置父容器的高度时,回调函数运气不佳。
活动:
.boxyComments a
.showComments
获取load
并引入内容。 relative
css属性更改了它的高度.boxy
调整其内部元素.articleImageThumb
,.initialPostLoad
及更改后的高度值.showComments
第3步没有调整大小。使用(window).load
包裹仍然不会更改height
值,直到整个函数完成后才会更改父.boxy
的高度。
SO FRUSTRATING
....
以下示例:
$(".boxyComments a").click(function (event) {
var postHeight = $(this).closest('.boxy').find('.articleImageThumb').height();
var excHeight = $(this).closest('.boxy').find('.initialPostLoad').height();
var bComments = $(this).closest(".showComments").height();
event.preventDefault();
var post_id = $(this).attr("rel");
$.ajaxSetup({cache:false});
$(this).closest(".boxyComments").find(".showComments")
.load("<?php echo get_site_url(); ?>/ajax-fold/",{id: post_id}, function() {
console.log(excHeight)
$(document).ready().closest('.boxy').animate({height: postHeight + excHeight}, 500);
});
});
semipseudo输出:
<div class="boxy">
<div class="articleImageThumb">
<a href="<?php if(get_post_meta($post->ID, "url", true)) echo get_post_meta($post->ID, "url", true);
else the_permalink(); ?>" rel="<?php the_ID(); ?>">
<?php echo get_the_post_thumbnail($page->ID, 'original'); ?>
</a>
</div>
<div class="boxyComments">
<a href="<?php if(get_post_meta($post->ID, "url", true)) echo get_post_meta($post->ID, "url", true); else the_permalink(); ?>" rel="<?php the_ID(); ?>" >Open Comments</a>
<div class="showComments"></div>
</div>
</div>
console.log输出仅在height()
完成之前提供load()
值。
有没有办法在load
之后重置?
答案 0 :(得分:1)
为什么不打电话:
excHeight = $(document).ready().closest('.boxy').find('.showComments').height();
加载/加载完成后,最终会得到类似的结果:
.load("<?php echo get_site_url(); ?>/ajax-fold/",{id: post_id}, function() {
excHeight = $(document).ready().closest('.boxy').find('.showComments').height();
console.log(excHeight)
$(document).ready().closest('.boxy').animate({height: postHeight + excHeight}, 500);
});
答案 1 :(得分:0)
你的jquery似乎是错的。
立即关闭,此代码将以null
错误输出var excHeight = $(this).closest('.boxy').find('.initialPostLoad').height();
.boxy div没有类.initialPostLoad
的孩子然后,您尝试使用.closest()
获取.showcomments的高度。
.closest()
找到匹配的DOM结构,但你要找的是兄弟。
试试这个
var bComments = $(this).siblings(".showComments").height();