Jump to content
  • 0

Какой букет событий надо завязать для отлова мобильника либо на изменение экрана


borus
 Share

Question

Здравствуйте.

Есть потребность отловить устройства с шириной экрана менее Х пикселей в момент загрузки страницы либо те, которые после смены ориентации в пространстве приобретают ширину менее Х пикселей. Как можно описать это комплексное событие? Можно ли записать эти два условия через ИЛИ?

Link to comment
Share on other sites

16 answers to this question

Recommended Posts

  • 0
  On 3/22/2016 at 6:47 AM, npofopr said:

https://github.com/hgoebl/mobile-detect.js

вроде разное умеет, не смотрели?

Expand  

Спасибо. Это здорово, только не хотелось бы подключать дополнительный файл, а использовать встроенные возможности языка

Edited by borus
Link to comment
Share on other sites

  • 0
  On 3/22/2016 at 6:49 AM, by chris said:
@media all and (max-width: 640px) {
  ...
}

 

Expand  

Спасибо. Не подойдёт, мне надо по событию добавлять либо убирать определённый класс

 

  On 3/22/2016 at 7:18 AM, Great Rash said:
window.addEventListener('DOMContentLoaded', function() {
  if (window.innerWidth <= 1024) {
    console.log('допустим, что это у нас планшет или мобилка с гигантским экраном');
  }
});

 

Expand  

благодарю. а как суда добавить через ИЛИ событие на изменение ширины экрана ниже критической?

Link to comment
Share on other sites

  • 0
  On 3/22/2016 at 7:30 AM, Switch74 said:

но лучше идти от меньшего к большему

Expand  

благодарю Это все на событие 

DOMContentLoaded

а как добавить через ИЛИ событие смены ширины экрана?

Link to comment
Share on other sites

  • 0
  On 3/22/2016 at 7:53 AM, Switch74 said:

а поточнее можно про ИЛИ и событие

Expand  

есть код, который должен выполняться после проверки ширины экрана в момент загрузки страницы ЛИБО если человек повернул свой девайс в другую ориентацию, и ширина экрана у него стала другой

Link to comment
Share on other sites

  • 0

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

window.addEventListener('DOMContentLoaded', function() {resize()});
window.addEventListener('resize', function() {resize()});
function resize(){
  if (window.innerWidth <= 640) {
    console.log('допустим, что это у нас планшет или мобилка с маленьким экраном');
  }
  else if (window.innerWidth <= 1024) {
    console.log('допустим, что это у нас планшет или мобилка с гигантским экраном');
  }
}

 

  • Like 1
Link to comment
Share on other sites

  • 0
  On 3/22/2016 at 7:25 AM, borus said:

Спасибо. Не подойдёт, мне надо по событию добавлять либо убирать определённый класс

Expand  

 Почему нет то, медиазапросы на поворот тоже срабатывают.   

 

Link to comment
Share on other sites

  • 0

А вот вопрос, мне надо чтобы меню на iPad.. или телефоне, открывал меню по клику, при этом на компьютере оно должно остаться на hover..

Мне по сути по такой же системе надо делать?

Link to comment
Share on other sites

  • 0
  On 3/22/2016 at 12:38 PM, Mary_RND said:

А вот вопрос, мне надо чтобы меню на iPad.. или телефоне, открывал меню по клику, при этом на компьютере оно должно остаться на hover..

Мне по сути по такой же системе надо делать?

Expand  

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

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy