Есть ли способ получить ширину и высоту браузера после изменения размера окна. Например, если окно 1920 на 1080, и пользователь меняет окно на 500 на 500, есть ли способ получить эти два новых значения в JavaScript или jquery?Получить ширину и высоту браузера после изменения размера окна пользователя
ответ
Возможно прослушать resize
событие.
$(window).resize(function() {
var width = $(window).width();
var height = $(window).height();
})
Используйте метод изменения размера jQuery для изменения размера окна. внутри обратного вызова вы можете получить высоту и ширину.
$(window).resize(function(){
var width = $(window).width();
var height = $(window).height();
});
Вы можете использовать resize
событие, наряду с height()
и width()
свойствами
$(window).resize(function(){
var height = $(window).height();
var width = $(window).width();
});
Вы можете использовать JQuery размер() функцию. Также убедитесь, что вы добавили одну и ту же логику изменения размера для перезагрузки события. Если пользователь перезагружается в размерном окне, ваша логика не будет работать.
$(window).resize(function() {
$windowWidth = $(window).width();
$windowHeight = $(window).height();
});
$(document).ready(function() {
//same logic that you use in the resize...
});
Джей. Благодарю. Можно ли избежать дублирования кода? Я использую мега-меню для своего сайта и нуждаюсь в автоматическом изменении окна при изменении размера окна и после перезагрузки. В это время я использую тот же код для событий 'resize()' и 'ready()'. – Andry
@Andry Вы можете поделиться кодом? –
Чистый JavaScript Ответ:
var onresize = function() {
//your code here
//this is just an example
width = document.body.clientWidth;
height = document.body.clientHeight;
}
window.addEventListener("resize", onresize);
Это прекрасно работает на хроме. Однако он работает только на хроме. Несколько более кросс-браузерный пример использует целевые свойства события «outerWidth» и «outerHeight», поскольку в этом случае «target» - это само окно. Код будет как этого
var onresize = function(e) {
//note i need to pass the event as an argument to the function
width = e.target.outerWidth;
height = e.target.outerHeight;
}
window.addEventListener("resize", onresize);
Это отлично работает в Firefox и хром
Надеется, что это помогает :)
Edit: Испытано в IE9 и это сработало тоже :)
Редактировать: document.width и document.height больше не должны использоваться и не работают для меня в Chrome. Вместо этого рекомендуется использовать document.body.clientWidth и document.body.clientHeight. См. Http://www.howtocreate.co.uk/tutorials/javascript/browserwindow –
Практически, Я пользуюсь этим, и мне это очень помогает:
var TO = false;
var resizeEvent = 'onorientationchange' in window ? 'orientationchange' : 'resize';
$(window).bind(resizeEvent, function() {
TO && clearTimeout(TO);
TO = setTimeout(resizeBody, 200);
});
function resizeBody(){
var height = window.innerHeight || $(window).height();
var width = window.innerWidth || $(window).width();
alert(height);
alert(width);
}
Если вам нужно знать эти значения, чтобы сделать layo я корректирую, я готов поспорить, что вы планируете слушать эти ценности. Вместо этого я рекомендовал использовать API Window.matchmedia()
.
Это much more performant и в основном эквивалент JS-запросов CSS-медиа.
Очень быстрый пример использования:
if (window.matchMedia("(max-width: 500px)").matches) {
/* the viewport is less than or exactly 500 pixels wide */
} else {
/* the viewport is more than 500 pixels wide */
}
Вы также можете настроить слушатель, который будет вызываться каждый раз, когда изменяется состояние matches
собственности.
См. MDN для description и example of using a listener.
- 1. Как получить высоту и ширину диалога после изменения размера?
- 2. Получить новую высоту и ширину виджета после ручного изменения размера
- 3. Изменение ширины окна браузера после изменения размера
- 4. получить текущую ширину после изменения размера/setTimeout
- 5. Предотвращение изменения размера окна браузера
- 6. JavaFX получить ширину и высоту браузера
- 7. Как получить ширину и высоту пользовательского всплывающего окна от пользователя?
- 8. Как сделать сетку 100% после изменения размера окна браузера?
- 9. Как изменить ширину окна без изменения размера
- 10. Получить постоянную высоту и ширину браузера
- 11. Получить ширину элемента после изменения размера
- 12. Пересчет высоты группы после изменения размера окна
- 13. Как проверить ширину и высоту перед изменением размера окна?
- 14. slideToggle пересчитать после изменения размера окна?
- 15. Получить ширину и ширину расширений браузера jQuery
- 16. Изменение размера окна браузера
- 17. Re-Calculate width после изменения размера браузера
- 18. Как установить ширину и высоту всплывающего окна браузера?
- 19. Как разрешить div наследовать ширину и высоту окна браузера
- 20. Как получить высоту окна браузера в jquery?
- 21. изменить ширину и высоту изображения при изменении размера окна
- 22. получить высоту/ширину окна в режиме реального времени
- 23. Изотоп появляется только после фильтрации или изменения размера окна браузера
- 24. Получить ширину и высоту ImageView после изменения размера с помощью матрицы
- 25. Получить ширину и высоту элемента после trasforming
- 26. Функция JavaScript для изменения размера окна браузера
- 27. Внешнее окно не входит в центр после изменения размера браузера
- 28. Могу ли я получить ширину и высоту браузера в Pyramid?
- 29. jQuery: пересчет ширины браузера после изменения размера
- 30. позиционирование и изменение размера окна браузера
Я пробовал это, но я все еще получаю исходные размеры – Gregwest85
вы можете поделиться своим кодом? – Anoop