javascript - 关于 JS 和 Class 的问题
问题描述
我试图缩小标题并确定了它,但是当我单击导航项“项目”部分时,直到我滚动时才从 JS 脚本中获取类名。这是我的代码。
网站:[https://yigitceli.github.io][1]
除了“项目”导航项之外,这里一切正常。当我从浏览器中检查项目时,在单击之后滚动之前,我注意到“项目”导航项目没有从 js 获取类。我认为问题出在 JS 脚本中。
编辑:我注意到现在在网站“项目”导航项或“联系人”导航项的开头从 javascript 随机获取类名。
window.onscroll = function () {
scrollFunction();
};
function scrollFunction() {
if (window.pageYOffset > 30) {
var navItems = document.getElementsByClassName("nav-items");
for (let i = 0; i < navItems.length; i++) {
navItems[i].className = "nav-items2";
}
var navs = document.getElementsByClassName("nav-list");
for (let i = 0; i < navs.length; i++) {
navs[i].className = "nav-list2";
}
document.querySelector("h1").classList.add("h1");
document.querySelector("header").id = "header2";
} else {
var navs = document.getElementsByClassName("nav-list2");
for (let i = 0; i < navs.length; i++) {
navs[i].className = "nav-list";
}
var navItems = document.getElementsByClassName("nav-items2");
for (let i = 0; i < navItems.length; i++) {
navItems[i].className = "nav-items";
}
document.getElementsByClassName("h1")[0].classList.remove("h1");
document.getElementById("header2").id = "";
}
}
h1 {
width: 35%;
font-size: 2.5em;
font-weight: 100;
transition: 1s ease-in;
}
.h1 {
color: #807d78;
font-size: 1.5em;
font-weight: bold;
transition: 1s ease-in;
}
nav {
display: flex;
align-items: center;
width: 65%;
}
nav ul {
padding: 0;
width: 100%;
display: flex;
justify-content: flex-end;
align-items: center;
list-style: none;
}
.nav-items {
padding-left: 15%;
font-size: 1.3em;
transition: 1s ease-in;
}
.nav-items2 {
padding-left: 10%;
font-size: 1em;
transition: 1s ease-in;
font-weight: bold;
}
.nav-list {
color: seashell;
text-decoration: none;
transition: color 1s ease-in;
}
.nav-list2 {
text-decoration: none;
color: #807d78;
transition: color 1s ease-in;
}
.nav-list:hover {
padding-bottom: 5%;
border-bottom: 0.12em seashell solid;
}
.nav-list2:hover {
padding-bottom: 5%;
border-bottom: 0.12em #807d78 solid;
}
<header id="header">
<h1>Yiğit Balceli</h1>
<nav id="nav">
<ul>
<li class="nav-items"><a class="nav-list" href="#about-me">About Me</a></li>
<li class="nav-items"><a class="nav-list" href="#project-rows">Projects</a></li>
<li class="nav-items"><a class="nav-list" href="#footer">Contact</a></li>
</ul>
</nav>
</header>
解决方案
推荐阅读
- matlab - matlab中的getkey记录按键
- vue.js - Vue 路由问题
- sql - 有没有更好的方法来计算小时工和销售额?
- twitter-bootstrap - bootstrap v3.3.7 中的 .navbar-right 和 .pull-right 有什么区别
- docker - 如何在 Gradle 中实现“eval”外壳功能
- php - MySQL 在显示记录时遇到问题
- python - Pagmo2 Pygmo2 热启动功能
- php - ahref 点击后丢失会话变量
- python - 将时间列表格式化为 24 小时格式以用作 xtick 标签
- javascript - 如何使用鼠标悬停在 HTML 画布上弯曲线条