jQuery + Chrome不正确的scrollHeight

时间:2014-05-02 16:29:09

标签: jquery html google-chrome

我有一个简单的页面,其content_row div在3个content_window div之前。单击内容窗口时,其内容将被复制到content_row div,并且div会扩展以适合粘贴的内容。整个过程在FF和IE中运行良好,并且基于粘贴内容的scrollHeight content_row获得适当的高度(动画)。

但是,Chrome在$(“。content_window”)期间没有给我正确的scrollHeight。点击功能。但是,当调用$(window).resize时,它会提供正确的scrollHeight。

任何帮助都会受到赞赏,我完全感到困惑,因为这两个函数都得到完全相同的道具。但是,我认为当html粘贴在content_row中时,Chrome可能会“太快”地计算scrollHeight。

小提琴:http://jsfiddle.net/B3BTh/

jQuery:

$(".content_window").click(function(e) {
    var cwi = $(this).index(".content_window");
    var cri = Math.floor(cwi / 3);
    $(".content_row:eq("+cri+")").html($(this).html());
    var cri_height = $(".content_row:eq("+cri+")").find(".content_window_wrapper").prop('scrollHeight')+"px";
    $(".content_row:eq("+cri+")").stop().animate({height: cri_height,opacity: 1},1000);
    $('html, body').animate({scrollTop: $(".content_row:eq("+cri+")").offset().top}, 1000);
});
$(window).resize(function() {
    $.each($(".content_row"), function(e) {
        $(this).height($(this).find(".content_window_wrapper").prop("scrollHeight"));
    });
});

0 个答案:

没有答案