getboundingclientrect не работает в режиме эмулиции мобильного
Функция getBoundingClientRect() почему-то работает некорректно, если в Google Chrome выбрать режим эмуляции мобильного device mode. Несмотря на прокрутку, значение показывается одно и то же (хотя иногда меняется, причины непостоянного поведения тоже неизвестны).
Ну для примера, вот тут http://grozza.ru/kak-ustanovit-antiv...ast-besplatno/ заголовок остается с одними и теми же координатами при прокрутке (то есть, сначала вроде меняется, но потом все зависает и не меняется). document.getElementsByClassName('entry-title')[0].getBoundingClientRect().top ClientRect {top: 157.60000610351562, right: 355.20001220703125, bottom: 258.4000244140625, left: 20, width: 335.20001220703125…}bottom: 258.4000244140625height: 100.80000305175781left: 20right: 355.20001220703125top: 157.60000610351562width: 335.20001220703125__proto__: ClientRect Выбираю режим эмуляции Iphone 6. Координата top всегда 157, и хоть убейся! |
У меня работает все и 6+ и 6.
может пример сделаете, поможем разобраться. |
Я даже не знаю, какой тут пример делать - скрипт в смысле? Я просто запускаю две команды из консоли - первая скроллит элемент, так что его координата top должна встать в 0, вторая команда выводит координату, и оказывается, что она не ноль.
Вот скриншот https://hostingkartinok.com/show-ima...e1451e33930771 PS А что значит свойство эмуляции Settings->More Tools->Forced Enabled? Просто может в каких-то настройках дело, я как включила свойство, эмулированный экран покрупнее стал и в первый момент координата 0 вывелась, но потом снова застряла на фиксированном ненулевом значении |
Вот команды с выводом:
document.getElementsByClassName('entry-title')[0].scrollIntoView(true) undefined document.getElementsByClassName('entry-title')[0].getBoundingClientRect().top 157.60000610351562 |
В общем проблема была похоже в том, что к ноутбуку был подключен монитор. Без монитора пока что проблемы не наблюдается.
Почему без эмуляции мобильного с монитором проблемы не возникало неясно. В общем механизм возникновения этой проблемы загадка. |
Часовой пояс GMT +3, время: 06:33. |