2017-07-29 20 views
-1

我已經編寫了這個簡單的代碼來重新調整頁面的大小,當窗口在799和800像素之間但它並不工作,有誰知道爲什麼?如果窗口寬度在800像素和799像素之間,請執行JS函數

$(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)會被觸發,有什麼想法?

+1

您的瀏覽器可能只給出整數寬度值。在799和800之間沒有整數。 – Pointy

+2

您是否認爲許多像素嚴格小於800,嚴格大於799? –

+1

'799 +1 = 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); 
    } 
}); 
2

您應該使用>=<=,而不是僅僅><,像這樣:

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

> 799 && < 800將永遠不會觸發,因爲有799和800

+0

*喜歡這個* ..:/花點時間寫出正確的答案。 –

+0

請用> =和<=更新您的答案:p –

+0

對不起,我只是拼錯了。我已經更新了答案 –