Как написать такую же функцию, но для одного элемента чистый JS
Пару дней как перестал использовать jQuery, решил изучить найтивный JS, пытаюсь разобраться в некоторых вопросах.
Несколько месяцев назад, пользователь @InDevX помог написать такую функцию, которая после клика и перезагрузки страницы возвращает пользователя на то место, где клик произошел или другими словами сохраняет позицию скролла. Вот этот ответ.
Меня интересует следующее, как переписать ее для случая, если у меня только один элемент с таким классом. Здесь же возвращается массив с элементами этого класса. Я понимаю что это и для одного элемента будет работать, но все же, как ее переписать чисто для 1 элемента?
let cords = ['scrollX','scrollY'];
document.querySelectorAll('.scrollOffset').forEach(el => {
el.addEventListener('click', () => {
cords.forEach(cord => localStorage[cord] = window[cord]);
});
});
// вешаем событие на загрузку (ресурсов) страницы
window.addEventListener('load', e => {
// если в localStorage имеются данные
if (localStorage[cords[0]]) {
// скроллим к сохраненным координатам
window.scroll(...cords.map(cord => localStorage[cord]));
// удаляем данные с localStorage
cords.forEach(cord => localStorage.removeItem(cord));
}
});
Ответы (1 шт):
Автор решения: prit
→ Ссылка
let cords = ['scrollX','scrollY'];
document.querySelector('.scrollOffset').addEventListener('click', () => {
cords.forEach(cord => localStorage[cord] = window[cord]);
});