在jQuery AJAX之后获取新的窗口高度

时间:2012-08-31 00:42:15

标签: jquery

我觉得这个问题的答案很简单,但它耗费了大量时间,我看不到解决方案。我正在制作一个简单的无限滚动功能,并且需要脚本在加载更多内容后识别窗口的新高度。该值始终与第一个加载时间相同。我在another answer here上建立了这个最新的代码,但它仍然没有用。想法?

var scrollFunction = function(){
        var myTop = jQuery(window).scrollTop();
        var myHeight = jQuery(window).height();
        if (myTop >= myHeight){ 
            $(window).unbind("scroll");
            jQuery.ajax({
                type: 'POST',
                url: '/ping/thumbs.php',
                data: 'foo=bar',
                success: function(data){
                    $(".thumbnails").append(data);
                    $(window).scroll(scrollFunction);
                },
                dataType: 'html'
            });
        };
    };
    $(window).scroll(scrollFunction);

3 个答案:

答案 0 :(得分:5)

window的高度是浏览器窗口的大小。你想要body的高度。 window高度仅在调整浏览器大小时发生变化。

答案 1 :(得分:1)

获取窗口的高度是浏览器窗口的高度。如果您想要文档的高度,则必须使用document而不是windowdocument.height或获得身体的高度:jQuery('body').height()

答案 2 :(得分:0)

jQuery(document).ready(function () {

    jQuery(window).resize(function () {
        //alert("window changed");
        resizeBlocks();
    });

});


function resizeBlocks() {
    var clientWidth = jQuery(window).width();
    var clientHeight = jQuery(window).height();
     ......................
    jQuery(".maindatacontent").height(clientHeight);
}

每次调整大小时都可以调用它。

HTH