我正在尝试为响应式网页设计做一些DOM操作。在IE中这不起作用。
var w = $(document).width();
if (w > 940) {
console.log("If test");
} else {
console.log("Else test");
如果我使用window.width,它可以在IE中运行,但在其他浏览器中停止工作。是否有跨浏览器方式?
答案 0 :(得分:2)
var maskWidth = window.innerWidth;
var maskHeight = window.innerHeight;
答案 1 :(得分:2)
响应式设计应该在CSS中使用媒体查询完成:
@media all and (max-width:940px) {
/* some style rules that should be put in place
if the window is smaller than 940px wide */
}
答案 2 :(得分:2)
您的方法存在一个固有的问题,那就是“响应”是指响应大小变化的设计。根据您在此处所做的事情,您只能在浏览器加载时进行检测。
比如说,例如,您正在使用iPhone查看此网站,并将手机45度转为横向而不是纵向。基本上,你的宽度刚刚改变,但你的宽度()没有。
如果您需要使用javascript进行DOM操作而无法使用纯CSS(这通常是最好的方法),我建议您查看几个选项: