2013-01-17 62 views
2

我有一个问题,使用$(window).height()。当我第一次加载页面时,它显示0,我只能刷新它后得到正确的数字。通过jQuery获取窗口高度

我试图把它放在$(document).ready(function(){}),在JavaScript的开始,在$('[data-role="page"]').live('pageshow', function() {})(这是一个jQuery的移动网站),但没有任何工作。

如何在不刷新它的情况下加载文件时获得窗口高度?

+0

刷新什么? – phant0m

+0

可以编写一些具有高度内容的HTML代码,但它的容器(例如正文或窗口)的高度为0.给我更多的代码,一些HTML和/或CSS。 – algorhythm

+0

尝试通过点击某个按钮来提醒它,如http://api.jquery.com/height/所示,如果它工作正常,那么可能会出现其他一些问题。等待专家拿出可靠的答案。 –

回答

3

尝试以下操作:

$(window).load(function(){ 
    console.log($(this).height()) 
}); 

但窗口的高度基本上总是相同的。你可能想在文档身高:

$(window).load(function(){ 
    console.log($(document).height()) 
}); 
+0

太棒了!非常感谢! :) –

1

那么,你传递了一个空的功能ready(),这就是为什么它没有做任何事情。

您可以使用此快捷方式$(document).ready(handler)

$(function() { 
    console.log($(window).height()); 
}); 
+0

嗯完全有可能。但那么如何令人耳目一新呢?我有点迷惑这里 –

+0

@SaurabhBayani这取决于他的意思是什么让人耳目一新,这就是为什么我问他到底是什么意思。 – phant0m

+0

K.但在这种情况下,我猜他的意思是“刷新页面”。无论如何!让他先清楚:) –

0

你可能有错误的地方在你的代码。

$(window).height(); 

应该返回你真正的身高。

$('#index').live('pagebeforeshow',function(e,data){  
    alert($(window).height()); 
}); 

下面是一个工作示例:http://jsfiddle.net/Gajotres/JmqX6/

现在手机是完全不同的东西,这在手机上,你还需要在你的头一个vireport标签正常工作:

<meta name="viewport" content="target-densitydpi=device-dpi, width=device-width" />