首页 > 解决方案 > 使用 ie/else if 比较 window.innerWidth

问题描述

我已经创建if/else if了应该检查window.innerWidth和更新变量的条件。但是它没有检测到低于 768 的屏幕尺寸。

我做错了什么?我能做些什么来让它变得更好、更高效或更清洁?

var ww = window.innerWidth;
var responsiveScale;

if (ww <= 768) {
  responsiveScale = 1,
    console.log("less than or equal to 768");
} else if (ww > 768 && ww <= 1280) {
  responsiveScale = 2,
    console.log("screen is greater than 768 but less than or equal to 1280");
} else if (ww > 1280 && ww <= 1440) {
  responsiveScale = 3
  console.log("screen is greater than 1280 but less than or equal to 1440");
} else if (ww > 1440 && ww <= 1920) {
  responsiveScale = 4
  console.log("Screen is greater than 1440 but less than or equal to 1920");
} else {
  responsiveScale = 5
  console.log("Screen is greater 1920");
}

标签: javascriptjqueryif-statement

解决方案


您应该使用监听窗口调整大小事件

window.onresize = function() {
//compute the window innerWidth here
}

推荐阅读