javascript - 事件导航按钮中的不同颜色

标签 javascript html css menu

我想在页面上更改菜单按钮的背景颜色

enter image description here

这是我的代码:

HTML

<ul>
  <li><a class="active" href="index.php">Home</a></li>
  <li><a href="news.php">News</a></li>
  <li><a href="contact.php">Contact</a></li>
  <li><a href="about.php">About</a></li>
</ul>

CSS

ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background-color: #333;
}

li {
    float: left;
}

li a {
    display: block;
    color: white;
    text-align: center;
    padding: 14px 16px;
    text-decoration: none;
}

li a:hover:not(.active) {
    background-color: #111;
}

.active {
    background-color: #4CAF50;
}

我知道我必须使用 Javascript,但我现在不知道在链接处于事件状态时更改类的代码。

最佳答案

最好用 PHP 来做这个。在每个页面上添加一个变量,其中包含分配给它的页面名称,例如

<?php $page = "News"; ?>

然后您可以添加条件语句,将事件类添加到与您正在查看的页面相关的导航链接,例如

<ul>
  <li><a <?php echo ($page == "Home") ? "class='active'" : ""; ?> href="index.php">Home</a></li>
  <li><a <?php echo ($page == "News") ? "class='active'" : ""; ?> href="news.php">News</a></li>
  <li><a <?php echo ($page == "Contact") ? "class='active'" : ""; ?> href="contact.php">Contact</a></li>
  <li><a <?php echo ($page == "About") ? "class='active'" : ""; ?> href="about.php">About</a></li>
</ul>

如果您不认识 PHP 代码,它只是 if 语句的简写版本。

关于javascript - 事件导航按钮中的不同颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44598656/

相关文章:

javascript - 将所选选项从一个下拉列表复制到另一个下拉列表

在加载 200mb 的新图像()后,Javascript 在 Safari/iPad2 中运行缓慢。为什么会这样?

python - Google AppEngine、Django 和 request.FILES

html - 溢出 : hidden on table causes bottom border to disappear

javascript - 有条件后如何返回?

javascript - 在 ejs 中有两个选项卡,当我返回到原始选项卡时它停留在第二个选项卡上,任何建议表示赞赏

javascript - 对象值到数组但具有相同的引用

html - 将 h1 置于标题中心?

html - 元素不 float 吗?

html - Bootstrap 背景图片