单击菜单栏上的更改字体真棒图标

塔辛·阿里·贾弗里

https://www.w3schools.com/howto/tryit.asp?filename=tryhow_js_topnav

我想在响应式视图菜单显示时将 fa-bars 图标更改为 fa-plus。请帮我。提前致谢。

检查下面的片段

function myFunction() {
    var x = document.getElementById("myTopnav");
    if (x.className === "topnav") {
        x.className += " responsive";
    } else {
        x.className = "topnav";
    }
}
body {
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
}

.topnav {
  overflow: hidden;
  background-color: #333;
}

.topnav a {
  float: left;
  display: block;
  color: #f2f2f2;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
  font-size: 17px;
}

.topnav a:hover {
  background-color: #ddd;
  color: black;
}

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

.topnav .icon {
  display: none;
}

@media screen and (max-width: 600px) {
  .topnav a:not(:first-child) {display: none;}
  .topnav a.icon {
    float: right;
    display: block;
  }
}

@media screen and (max-width: 600px) {
  .topnav.responsive {position: relative;}
  .topnav.responsive .icon {
    position: absolute;
    right: 0;
    top: 0;
  }
  .topnav.responsive a {
    float: none;
    display: block;
    text-align: left;
  }
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
</head>
<body>

<div class="topnav" id="myTopnav">
  <a href="#home" class="active">Home</a>
  <a href="#news">News</a>
  <a href="#contact">Contact</a>
  <a href="#about">About</a>
  <a href="javascript:void(0);" class="icon" onclick="myFunction()">
    <i class="fa fa-bars"></i>
  </a>
</div>

<div style="padding-left:16px">
  <h2>Responsive Topnav Example</h2>
  <p>Resize the browser window to see how it works.</p>
</div>



</body>
</html>

尼拉利

只需在 i 标签中切换类 fa-bars 和 fa-plus

$(this).find('.fa').removeClass('fa-bars').addClass('fa-plus');
$(this).find('.fa').removeClass('fa-plus').addClass('fa-bars');

我稍微改变了你的 html 代码。您正在从 html 调用 js 函数。我改变了我添加了 jquery 代码来监听标签的点击事件。

检查以下工作片段

$(document).ready(function(){
  $("#icon").on("click", function(){
    
    var x = document.getElementById("myTopnav");
    if (x.className === "topnav") {
        x.className += " responsive";
      
      $(this).find('.fa').removeClass('fa-bars').addClass('fa-plus');
    } else {
        x.className = "topnav";
        $(this).find('.fa').removeClass('fa-plus').addClass('fa-bars');
    }
    
  });
});
body {
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
}

.topnav {
  overflow: hidden;
  background-color: #333;
}

.topnav a {
  float: left;
  display: block;
  color: #f2f2f2;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
  font-size: 17px;
}

.topnav a:hover {
  background-color: #ddd;
  color: black;
}

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

.topnav .icon {
  display: none;
}

@media screen and (max-width: 600px) {
  .topnav a:not(:first-child) {display: none;}
  .topnav a.icon {
    float: right;
    display: block;
  }
}

@media screen and (max-width: 600px) {
  .topnav.responsive {position: relative;}
  .topnav.responsive .icon {
    position: absolute;
    right: 0;
    top: 0;
  }
  .topnav.responsive a {
    float: none;
    display: block;
    text-align: left;
  }
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
</head>
<body>

<div class="topnav" id="myTopnav">
  <a href="#home" class="active">Home</a>
  <a href="#news">News</a>
  <a href="#contact">Contact</a>
  <a href="#about">About</a>
  <a href="javascript:void(0);" class="icon" id="icon">
    <i class="fa fa-bars"></i>
  </a>
</div>

<div style="padding-left:16px">
  <h2>Responsive Topnav Example</h2>
  <p>Resize the browser window to see how it works.</p>
</div>



</body>
</html>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

配合菜单栏上的更改图标

来自分类Dev

目标C-菜单栏图标单击事件

来自分类Dev

jQuery Accordion单击更改字体真棒图标类

来自分类Dev

单击旋转字体真棒图标

来自分类Dev

如何更改 Andorid Studio 导航菜单栏中的图标?

来自分类Dev

单击更改“字体真棒”图标,但单击下一项时返回到原始图标

来自分类Dev

从ViewController设置菜单栏图标

来自分类Dev

从菜单栏中删除Spotlight图标

来自分类Dev

如何更改字体真棒图标的颜色

来自分类Dev

更改字体真棒图标的宽度

来自分类Dev

如何更改字体真棒图标悬停颜色?

来自分类Dev

更改字体真棒图标onclick reactjs

来自分类Dev

KendoUI菜单栏在单击时打开

来自分类Dev

Applescript:单击特定的菜单栏项

来自分类Dev

更改MATE菜单栏以更改文本

来自分类Dev

使用Unity或Ubuntu Tweak更改主题和图标,但获得相同的菜单栏“默认值”

来自分类Dev

我可以在MacBook菜单栏上为非苹果图标设置固定顺序吗?

来自分类Dev

如何更改Firefox菜单栏的颜色?

来自分类Dev

包含真棒字体的图标时更改按钮的内容字体

来自分类Dev

单击菜单栏上的jQuery对话框作为登录框打开

来自分类Dev

Java FX菜单栏上的文本

来自分类Dev

如何在Objective c中的UINavigation栏上更改“真棒字体”的颜色

来自分类Dev

侧边菜单中的字体真棒图标未对齐

来自分类Dev

yii在引导导航栏中添加字体真棒图标

来自分类Dev

导航栏中的垂直居中字体真棒图标

来自分类Dev

右键单击时菜单栏中的弹出菜单

来自分类Dev

单击字体真棒图标时如何计算数字?

来自分类Dev

是否可以在单击时旋转字体真棒 5 个图标?

来自分类Dev

字体真棒图标对齐

Related 相关文章

热门标签

归档