如果 window 宽度在 800px 和 799px 之间,则执行 JS 功能

Do JS function if window width between 800px and 799px

我写了这个简单的代码来在 window 介于 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) 被击中,它应该只切换一次,有什么想法吗?

你应该使用 >=<= 而不是 ><,像这样:

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

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

我找到了解决方案:

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);
    }
});