为什么不$(window).height();返回一个值,但$(document).height();呢?

时间:2012-08-18 01:57:05

标签: jquery

我正在尝试使用jQuery来获取当前窗口高度。我打算用这个值设置一个变量,并在调整大小时更新该值。出于某种原因,$(window).height();总是返回零,但$(document).height();返回一个值。为什么会这样?

(代码为简洁起见)

$(document).ready(function () {

function drawGrid() {

    var context = document.getElementById("gridCanvas").getContext("2d");

    var height = $(window).height();
    var width = height/2/8;
    alert(height);

    $(window).resize(function () {
        // do some stuff
    });

        // do some cool drawing stuff

    }

    drawGrid();

});

2 个答案:

答案 0 :(得分:6)

你可以尝试

吗?
$(window).load(function () { 

而不是

$(document).ready(function () { 

看看它是否有效。如果你想获得窗口大小,我想你必须等待窗口加载。

答案 1 :(得分:0)

$(window).height()以及$(window).width()在IE中返回0 在兼容模式下。 尝试使用$(document).height()或$(document).width()代替。