Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   определить размер экрана (https://javascript.ru/forum/events/75757-opredelit-razmer-ehkrana.html)

GostWalk 03.11.2018 22:10

определить размер экрана
 
Все привет!
Есть сайт https://www.codicesconto.com
(открывать через VPN, если не открывается,

пытаюсь понять реализации меню+поиска, нашел у них в js код
определения устройства
function myDevice(e) {
    prev_device = device, device = e <= 767 ? "smartphone" : e > 767 && e < 992 ? "tablet" : "pc"
}

но не могу понять, где именно происходит определение ширины.
Помогите найти нужный код для дальнейшего испольвания

$(".search-cont input").focus(function () {
    "smartphone" == device && ($(".mobile-search-and-menu-close").addClass("show"), $(".mobile-menu-open").addClass("hide"), $(".menu-cont").hide(), $("body", "html").addClass("block-overflow"), $(".header-page").hide(), $(".page").hide(), $(".buyon-bar").hide()), "tablet" == device && $(".menu-cont").hide()
}),

сейчас получаю, device is not defined
Имею firebug есть, но не знаю, где можно выловить нужный код.

Помогите разобрать пожалуйста.

MC-XOBAHCK 03.11.2018 23:44

Цитата:

Сообщение от GostWalk
определения устройства
function myDevice(e) {
    prev_device = device, device = e <= 767 ? "smartphone" : e > 767 && e < 992 ? "tablet" : "pc"
}

но не могу понять, где именно происходит определение ширины.

Функция не определяет устройство, а определяет ширину окна браузера.

Сама функция только прогоняет по условию, в ней не происходить определение ширины экрана устройства.
Функция принимает параметр e, это и есть ширина монитора, её передают в эту функцию при вызове.

Определить ширину экрана очень просто:
window.innerWidth - вся ширина окна
document.documentElement.clientWidth - ширина минус прокрутка

Вот теория - https://learn.javascript.ru/metrics-window


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