我希望使用$(window).width()
和$(window).height()
函数来获取浏览器窗口的大小。但是这两个返回null。 $(window)
不为空,它返回“对象”。
我也试过使用$(document).width()
和$(document).height()
,这两个不返回null,它们返回特定值,但它们大于窗口大小。知道为什么$window
2值为空?
$(window).load(function () {
var view = $("#view");
var image = $("#image");
var hiResImage = $("#hi-res-image");
var zoom = $("<a id='zoom'><span><br /></span></a>");
log("ERROR 1 = " + $(window).width());
log("ERROR 1 = " + $(window).height());
log("ERROR 1 = " + $(window));
image.width($(window).width());
image.height($(window).height());
.....
我应该初始化somw $(window)变量的方式吗?
答案 0 :(得分:6)
就像评论者一样,我不确定为什么它不起作用,但这可以在vanilla JS和没有jQuery的窗口对象中完成,所以你可能会有更好的运气。可以绕过jQuery版本,浏览器兼容性等方面的一些问题
window.innerWidth //just the actual document window
window.innerHeight
window.outerWidth //includes brother toolbars, status bar, etc
window.outerHeight
我仍然建议你调查为什么你的oroginally尝试不起作用,不管根本问题是什么它可能会再次出现在其他地方。
答案 1 :(得分:2)
我在谷歌浏览器的控制台上玩游戏,以下内容适用于我:
$(window).attr('screen').height
和
$(window).attr('screen').width
编辑:请参阅jon_darkstar的回答。 $(window)
函数是一个返回DOM元素的jQuery选择器。要访问对象的属性,您需要使用.attr()
方法。我倾向于同意jon_darkstar,Occam的Razor指出,香草JS很可能是最好的方式,因而得到我的投票。但是如果你真的想要使用jQuery,那么上面的工作就可以了。