Доброго времени суток, на странице есть самописный плеер, проигрывающий аудио, в котором каждую секунду через setinterval обновляется ширина дорожки прогресса и число прошедших секунд, из-за чего страница прокручивается с неимоверными лагами
Если же опустить жти функции и оставить только аудио, то все хорошо
Подскажите пожалуйста, как это исправить, может быть повесить обновление ширины полоски прогресса и таймера в отдельный поток?
Попробуйте вместо setinterval для отображения текущей позиции использовать подписку на специализированные события элемента audio, например, на timeupdate.
PS: Ваш плеер на основе тэга audio, надеюсь?
полоски прогресса и таймера в отдельный поток?
В JS нет многопоточности, только последовательная обработка событий. Они не должны стопорить единственный поток, так что позаботьтесь чтобы функции обработчики не были перегружены вычислениями или постоянным глубоким поиском каких-то элементов на странице.
Да, посмотрел, я так понимаю, событие timeupdate срабатывает каждую секунду, верно?
Но до сих пор не понимаю, как упростить форматирование длительности