Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Определить ширину окна (https://javascript.ru/forum/dom-window/67826-opredelit-shirinu-okna.html)

Agapkin 10.03.2017 19:11

Определить ширину окна
 
ГУРУ! Помогите пожалуйста.

Как на jquery определить реальную ширину окна, у меня почему то всю дорогу определяет с учетом скроллбара?

рони 10.03.2017 19:24

Agapkin,
document.documentElement.clientWidth

Agapkin 11.03.2017 00:07

рони,
спасибо, за ответ, но почему то этот вариант, как и
$(window).width();
$(document).width();
тоже срабатывает на 1003px по ширине , при том что в условии стоит если меньше или равно 991 (скроллбар = 12px)

или может опять что то не так делаю..... не знаю.......

рони 11.03.2017 00:56

Agapkin,
вам со скроллбаром надо или без?
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  body{
    height: 2000px;
  }

  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>
$(function() {
    alert([document.documentElement.clientWidth,window.innerWidth]);
});
  </script>
</head>

<body>


</body>
</html>

Agapkin 11.03.2017 01:15

у меня получается так:

в css @media на <=991 какие то стили отрабатывают,
а на jquery мне надо чтобы отработало тоже на <=991, но т.к. скроллбар =12px, код срабатывает на 1003px

получается надо со скроллбаром

Agapkin 11.03.2017 01:24

есть конечно вариант по-другому сделать, через одно место, но зато точно работает!!!

привязаться к стилям.
например в css назначить какой нибудь бесполезный стиль который будет появляться на определенном разрешении, и его проверять...

уже так делал работает на ура, но вот через jquery че то никак не могу победить ....

Agapkin 11.03.2017 01:26

просто я в этом почти не понимаю ничего , поэтому вопрос как "легче, правильнее, надежнее" сделать и не громоздить 15км кода

Agapkin 11.03.2017 01:33

или вот вычитал можно еще matchMedia использовать, но говорят некроссбраузерно

Agapkin 11.03.2017 01:38

ну кстати вот так работает без вопросов
if(window.matchMedia('(max-width: 991px)').matches)
{
lalala
}


Часовой пояс GMT +3, время: 17:14.