如果窗口宽度在800px和799px之间,那么JS功能

时间:2017-07-29 16:38:09

标签: javascript jquery width responsive between

我已经编写了这个简单的代码,当窗口在799和800px之间时重新加载页面,但是它不起作用,有人知道为什么吗?

    $(window).resize(function() {
  if ( $(window).width() > 799 && $(window).width() < 800 {
    location.reload();
  } else {}
});

我还编写了这段代码,以便在页面重新加载后检查宽度是否低于800

if ($(window).width() < 800) {
  // do some stuff
} else {}

我可能还可以使用一个函数,如果断点(f.ex:800px)被击中,任何想法只应切换一次?

2 个答案:

答案 0 :(得分:2)

您应该使用>=<=而不是><,如下所示:

$(window).resize(function() {
  if ( $(window).width() >= 799 && $(window).width() <= 800 {
    location.reload();
  } else {}
});

> 799 && < 800永远不会触发,因为799和800之间没有整数。

答案 1 :(得分:1)

我找到了解决方案:

var ww = $(window).width();
var limit = 800;
function refresh() {
   ww = $(window).width();
   var w =  ww<limit ? (location.reload(true)) :  ( ww>limit ? (location.reload(true)) : ww=limit );
}
var tOut;
$(window).resize(function() {
    var resW = $(window).width();
    clearTimeout(tOut);
    if ( (ww>limit && resW<limit) || (ww<limit && resW>limit) ) {
        tOut = setTimeout(refresh, 10);
    }
});