簡體   English   中英

如果窗口寬度在800px至799px之間,則執行JS函數

[英]Do JS function if window width between 800px and 799px

我編寫了這個簡單的代碼,以在窗口介於799和800px之間時以調整大小的方式重新加載頁面,但它無法正常工作,有人知道為什么嗎?

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

我也寫了這段代碼來檢查頁面重新加載后的寬度是否小於800

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

我可能還可以使用一個函數,如果遇到斷點(例如: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);
    }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM