parent = element.parentNode,
// если не сразу родительский элемент, можно искать «наверх»
parent = element.closest('li');
// вместо if(( this.contains("active")){
if (event.target.classList.contains("active")) {
жаль, Broadcast Channel API в Safari не поддерживается — вся яблотехника в пролёте.
А контекст может быть вполне мирный: например воспроизведение аудио-потока интернет-радиостанции.
большущее спасибо! Особенно за подробно разобранное на фиддле решение!
Тормоза действительно адовые, на 2 неделях данных запрос накрепко подвис дольше таймаутов бэкенда. При общем объеме данных за несколько лет. Попробую доп. ограничить глубину в подзапросах.
Akina, кажется, соображаю, что можно составить временную таблицу с почасовыми вычисленными значениями, если округлять ровно 2 ближайших к очередному строгому-часу. Это, наверное, можно сделать в ручном режиме.
А есть ли встроенные в MySQL функции для этого? И сложно ли бикубическую интерполяцию реализовать?
Вопрос не полностью понятен:
что такое box, wrapper, mediaWidth? Где обработчики событий, «интерактив», о котором пишете.
Сделайте jsFiddle, демонстрирующий проблему целиком.