1 回答
TA贡献1807条经验 获得超9个赞
系统的想法是给菜单项一个 id 并使用 id 在这里滚动你忘了给 element 提供 id 。然后我将其放在您的点击事件中,使用此 id 获取该部分的 id 和 href。
items.forEach((item, i) => {
const el = document.createElement("a");
el.innerText = item;
el.classList.add("menu-items");
el.setAttribute("id", `menu-${i + 1}`);
el.href = `#section${i + 1}`;
navList.appendChild(el);
const li = document.createElement("li");
li.classList.add("menu-list");
li.appendChild(el);
li.setAttribute("id", `${i + 1}`);
// Append the list item to the list
navList.appendChild(li);
});
//Make Nav Active when Clicked and scrolls down to section
document.addEventListener("click", function (event) {
let active = document.querySelector(".menu-list.active");
if (active) active.classList.remove("active");
if (event.target.classList.contains("menu-list")) {
event.target.classList.add("active");
console.log(event.target.id);
window.location.href="#section"+event.target.id
}
});
- 1 回答
- 0 关注
- 103 浏览
添加回答
举报