2017年5月25日

和 CSS media query 一致的 JavaScript 視窗寬度判斷

在電腦瀏覽器上,以下幾個 jQuery 寫法取得的值都已刪除捲軸的寬度,和 CSS media query 並不一致,在撰寫 Code 上變得有點麻煩
$(window).width();
$(window).innerWidth();
$(window).outerWidth();
$(window).outerWidth(true);
以上皆同值
網路上找到幾個方法都是將捲軸寬度加上去,個人覺得太過麻煩,捲軸寬度的算式通常會佔是好幾行,不是很美。

仔細 Google 後,有找到一個在「只需判斷而不需取值」的情況下非常簡單的寫法:
if (window.matchMedia('(min-width: 300px)').matches){
    ...
}
混在 jQuery 裡使用是沒問題的。

沒有留言: