Я использую некоторый javascript для обнаружения изменений ширины, пока медиа-запросы. Мне нужны оба, поскольку мне нужно переместить html. Обе работы, кроме времени, когда они происходят, не совпадают, я предполагаю, что полоса прокрутки включена в одну из них, но было бы глупо предположить полосу прокрутки 15 пикселей, так как ее ширина не одинакова в браузерах. Есть ли лучший подход?Запросы в средствах массовой информации плюс окно javascript изменяют размер по ширине
Мой медиа-запрос активирует так:
<link rel="stylesheet" href="mobile.css" media="screen and (max-width: 767px)" />
И использование:
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
Хотя мой JS выглядит следующим образом:
var delay = (function(){
var timer = 0;
return function(callback, ms){
clearTimeout (timer);
timer = setTimeout(callback, ms);
};
})();
var pause = 100;
$(window).resize(function() {
delay(function() {
var width = $(window).width();
if (width >= 768) {
if (window.myDevice != 'desktop' || window.myDevice === undefined) {
window.myDevice = 'desktop';
$('#head').prepend($('#branding'));
}
} else if (width <= 767) {
if (window.myDevice != 'mobile' || window.myDevice === undefined) {
window.myDevice = 'mobile';
$('#content').prepend($('#branding'));
}
}
}, pause);
});
Спасибо!
полосы прокрутки _are_ одни и те же во всех браузерах, они просто разные в различных операционных системах. И даже тогда они имеют тенденцию быть примерно одинаковыми по ширине. Даже если визуальная ширина не кажется такой широкой, физическая ширина. –
Всегда ли это задержка или просто изменение размера окна? Я предполагаю, что задержка - это время, необходимое браузеру для загрузки файла таблицы стилей. –
По-видимому, вы используете в своих медиа-запросах термин «ширина устройства», поэтому он сильно отличается от «ширины» в JQuery. – DaniP