現在、Web サイトのモバイル側をセットアップしています。モバイル用のカスタム CSS と Javascript が必要なので、CSS には を使用するルールが@media screen and (max-width: 500px) {
あり、Javascript にはif ($(window).width() < 500
.
ただし、ブラウザーのサイズを正確なピクセルに変更すると、モバイル CSS が使用され始め、console.log($(window).width());
485 が表示されます。
これは正常な動作ですか、それとも何か間違ったことをしていますか?
アップデート:
これを使用すると、値は同期しているように見えますが、現時点では firefox でのみテストされています。
var scrollBarWidth = false;
function mobileRules() {
if (!scrollBarWidth) {
var widthWithScrollBars = $(window).width();
$('body').css('overflow', 'hidden');
var widthNoScrollBars = $(window).width();
$('body').css('overflow', 'scroll');
scrollBarWidth = widthNoScrollBars - widthWithScrollBars;
console.log('Width: '+widthWithScrollBars+'. Without: '+widthNoScrollBars+'. Scroll: '+scrollBarWidth);
}
console.log($(window).width()+scrollBarWidth+' vs '+globals.mobile_width);
if ($(window).width()+scrollBarWidth < globals.mobile_width) {
console.log('Running mobile rules in jQuery');
}
}