尽管我尝试了所有方法,但它似乎并没有被覆盖。我尝试了很多不同的方法,比如摆弄 CSS,但似乎没有任何效果。我正在使用引导5
document.addEventListener("DOMContentLoaded", function() {
const notesButton = document.getElementById('notes');
const tasksButton = document.getElementById('tasks');
notesButton.addEventListener('click', function() {
notesButton.classList.add('active');
tasksButton.classList.remove('active');
});
tasksButton.addEventListener('click', function() {
tasksButton.classList.add('active');
notesButton.classList.remove('active');
});
});
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
<link rel="stylesheet" href="styles/main.css" />
<title>Trackz</title>
</head>
<header>
<div class="container-fluid mt-3">
<nav class="navbar tabar mx-5">
<div class="container-fluid">
<a class="navbar-brand mx-4 text_color" href="/">
Trackz
</a>
<div class="d-flex">
<a href="/"><button class="btn btn-outline-light mx-2" id="notes">Notes</button></a>
<a href="/Tasks"><button class="btn btn-outline-light mx-2" id="tasks">Tasks</button></a>
</div>
</div>
</nav>
</div>
</header>
由于您的按钮被包裹在导航到不同页面的锚标记中(
href="/"
和href="/Tasks"
),单击它们自然会导致浏览器导航离开,从而不会在按钮上直观地保留活动状态。
您可以使用
preventDefault()
,但这没有意义,因为您根本可以不使用锚标记。
我强烈建议集体讨论您想要实现的行为,并在此基础上更改您的 HTML 结构。
无论如何,这里有一个片段,添加了您想要的功能
preventDefault()
document.addEventListener("DOMContentLoaded", function() {
const notesButton = document.getElementById('notes');
const tasksButton = document.getElementById('tasks');
notesButton.addEventListener('click', function(event) {
event.preventDefault(); // Prevent the page navigation
notesButton.classList.add('active');
tasksButton.classList.remove('active');
});
tasksButton.addEventListener('click', function(event) {
event.preventDefault(); // Prevent the page navigation
tasksButton.classList.add('active');
notesButton.classList.remove('active');
});
});
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
<link rel="stylesheet" href="styles/main.css" />
<title>Trackz</title>
</head>
<header>
<div class="container-fluid mt-3">
<nav class="navbar tabar mx-5">
<div class="container-fluid">
<a class="navbar-brand mx-4 text_color" href="/">
Trackz
</a>
<div class="d-flex">
<a href="/"><button class="btn btn-outline-light mx-2" id="notes">Notes</button></a>
<a href="/Tasks"><button class="btn btn-outline-light mx-2" id="tasks">Tasks</button></a>
</div>
</div>
</nav>
</div>
</header>