Javascript $(window).width()在IE9中不起作用

Javascript $(window).width()在IE9中不起作用,javascript,jquery,Javascript,Jquery,可能重复: 我正在尝试对响应性web设计进行一些DOM操作。在IE中,这不起作用 var w = $(document).width(); if (w > 940) { console.log("If test"); } else { console.log("Else test"); 如果我使用window.width,它在IE中工作,但在其他浏览器中停止工作。有跨浏览器的方法吗 var maskWidth = window.innerWidth; var maskHe

可能重复:

我正在尝试对响应性web设计进行一些DOM操作。在IE中,这不起作用

var w = $(document).width(); 

if (w > 940) {
console.log("If test");     
} else {
console.log("Else test");
如果我使用window.width,它在IE中工作,但在其他浏览器中停止工作。有跨浏览器的方法吗

var maskWidth = window.innerWidth;
var maskHeight = window.innerHeight;
根据,


根据,

响应性设计应使用CSS和媒体查询进行:

@media all and (max-width:940px) {
    /* some style rules that should be put in place
       if the window is smaller than 940px wide */
}

响应性设计应使用CSS和媒体查询进行:

@media all and (max-width:940px) {
    /* some style rules that should be put in place
       if the window is smaller than 940px wide */
}

您的方法存在一个固有的问题,即“响应性”指的是对尺寸变化做出响应的设计。对于您在这里所做的操作,只有在浏览器加载时才能得到检测

例如,您使用iPhone查看此网站,将手机旋转45度以横向而不是纵向。实际上,宽度只是改变了,但宽度()没有改变

如果您需要使用javascript进行DOM操作,但无法使用纯CSS(通常这是最好的方法)完成操作,我建议您考虑以下几个选项:

  • 查看Rob Tarr提出的matchMedia()方法
  • 使用或其他已经为您解决此问题的库

  • 您的方法存在一个固有的问题,即“响应性”指的是对尺寸变化做出响应的设计。对于您在这里所做的操作,只有在浏览器加载时才能得到检测

    例如,您使用iPhone查看此网站,将手机旋转45度以横向而不是纵向。实际上,宽度只是改变了,但宽度()没有改变

    如果您需要使用javascript进行DOM操作,但无法使用纯CSS(通常这是最好的方法)完成操作,我建议您考虑以下几个选项:

  • 查看Rob Tarr提出的matchMedia()方法
  • 使用或其他已经为您解决此问题的库

  • 我正在使用$(window).height()作为主页功能,该功能可以调整页面各部分的大小以匹配视口高度,并且可以跨浏览器工作。你能设置一个小提琴来显示这个问题吗?我正在使用$(window).height()作为主页功能,它可以调整页面的部分大小以匹配视口高度,并且可以跨浏览器工作。你能摆好小提琴来显示这个问题吗?谢谢。我认为window.innerWidth在Opera中不起作用,但在IEThank中起作用。我认为window.innerWidth在Opera中不起作用,但它在IEThanks中可以提供非常有用的链接。阅读。。。我将让我的js不仅在页面加载时工作,而且在检测宽度变化的事件上工作。感谢非常有用的链接。阅读。。。我将让我的js不仅在页面加载时工作,而且在检测到宽度变化的事件上工作。谢谢。我认为这在我的情况下是不可能的。对于移动视图,它将是一行一行的简单html内容,对于桌面视图,这个html部分将是一个动态旋转/选项卡式滑块。谢谢。我认为这在我的情况下是不可能的。对于移动视图,它将是一行一行的简单html内容,而对于桌面视图,这个html部分将是一个动态旋转/选项卡式滑块。