Привет. Хочу сделать слайдер, суть его заключается в том что при изменении слайдера на странице также должен меняться другой элемент (блок), для каждого элемента слайдера эта информация будет разной, но чем-то похожей, и поэтому нужно под каждый новый элемент слайдера заново рассчитывать другой блок, чтобы не дублировать контент html.
Вопрос в том где хранить данные для подсчета каждого блока, я думал над тем чтобы хранить их в data атрибутах в элементах слайдера, но эта информация может оказаться довольно большой и будет захламлять html структуру, поэтому хочу узнать: будет ли корректным хранить эти данные в js, в какой-нибудь глобальной переменной, объекте? Отсюда вытекает еще один вопрос, как устроен js, содержимое переменной будет храниться до тех пор пока не будет закрыта страница, т.е. переменные хранятся в оперативной памяти которую браузер выделил всей странице?
Где угодно можно хранить. Можно прям объект со всем функционалом сделать, и непосредственно создать его как property HTMLElement'а. Можно совсем уж сделать класс в прототипе, и работать с ним.
содержимое переменной будет храниться до тех пор пока не будет закрыта страница, т.е. переменные хранятся в оперативной памяти которую браузер выделил всей странице?
Будет храниться пока не прибъёшь её, или пока не будет уничтожен документ.
Убивается переменная довольно просто:
Ответ: браузер будет хранить данные до перегрузки страницы (Ctrl+R, F5), или навигации на другую страницу того же сайта, или навигации на другой сайт, или закрытии окна (вкладки).
Хранить можно в переменных или в объектах JavaScript, в атрибутах элементов DOM, в localStorage, в куках и других местах браузера.