我是纯JS的新手。我有一个这样的代码,当点击一个元素时,在重新加载页面后保持滚动位置:
let cords = ['scrollX','scrollY'];
document.querySelectorAll('.scroll').forEach(el => {
el.addEventListener('click', () => {
cords.forEach(cord => localStorage[cord] = window[cord]);
});
});
window.addEventListener('load', e => {
if (localStorage[cords[0]]) {
window.scroll(...cords.map(cord => localStorage[cord]));
cords.forEach(cord => localStorage.removeItem(cord));
}
});
但是这只适用于有很多元素都有这样一个类的情况。如果我们只有这个类的一个实例,我们如何改变这个函数来工作?
谢谢!
Document.querySelectorAll()方法返回一个匹配元素的数组。foreach()遍历每个项目并执行一个操作,在本例中是一个添加事件侦听器的函数。对于只有一个元素的数组,这个方法应该仍然有效。