导航特效:jquery实现当前(活动)菜单样式变化

导航特效:jquery实现当前(活动)菜单样式变化

用户点击导航或菜单上不同的栏目,被选中的导航栏目会变换样式,出现图片或背景颜色的变化,用于标识是否是当前栏目或活动选项。

本教程使用jquery实现导航菜单当前(活动)菜单样式变化,导航菜单模式用的是背景颜色,你可以换成背景图片以符合建站需要。

当前(活动)菜单样式变化实现原理

在html代码中给首页(默认选中)加上class名cur

<a href="demo.html?aa=1" class="cur">首页</a>

完整导航代码:

<nav id="menu">
<ul>
<li><a href="demo.html?aa=1" class="cur">首页</a></li>
<li><a href="demo.html?aa=2">网页制作</a></li>
<li><a href="demo.html?aa=3">网页设计</a></li>
<li><a href="demo.html?aa=4">HTML教程</a></li>
<li><a href="demo.html?aa=5">web前端</a></li>
<li><a href="demo.html?aa=6">网站运营</a></li>
<li><a href="demo.html?aa=7">建站入门</a></li>
<li><a href="demo.html?aa=8">联系我们</a></li>
</ul>
</nav>

在点击切换的过程中,我们需要给被选中的子选项添加类“cur”,然后让其它子选项删除类“cur”。

jquery实现当前(活动)菜单样式变化实例

本例使用jquery,需要在<head></head>之间添加jquery.min.js

<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/1.7.2/jquery.min.js"></script>

通过js中的location.href得到当前页面的地址,然后与导航上的链接地址匹对,如果相同则说明是当前菜单,要增加类“cur”,其他菜单删除类“cur”,代码如下:

<script type="text/javascript">
  var urlstr = location.href;
  var urlstatus=false;
  $("#menu a").each(function () {
    if ((urlstr + '/').indexOf($(this).attr('href')) > -1&&$(this).attr('href')!='') {
      $(this).addClass('cur'); 
      urlstatus = true; 
    } else {
      $(this).removeClass('cur');
    }
  });
  if (!urlstatus) {$("#menu a").eq(0).addClass('cur'); }
</script>

导航菜单样式代码:

<style>
  nav { padding:0; margin:0 auto; width:808px;}
  ul,li{list-style-type:none;padding:0; margin:0; }
  nav li { background: #060; margin-right:1px; float:left; color:#fff; }
  nav li a { display:block; width:100px; text-align:center; height:50px; line-height:50px; color:#fff; font-size:16px; text-decoration:none;}
  .cur{ background: #F90; font-weight:bold;}
</style>

示例中的导航使用的是背景颜色,鼠标点击后某菜单成当前菜单后,该菜单项背景颜色会变化,成高亮显示。

你可以把背景颜色改变成很cool的导航图片哦!

tab选项卡切换也是同样道理。

在写tab切换的时候,通常我们会给选中的tab设置不同的样式,常用的方法是给被选中的tab新增一个class,然后改这个class的样式,比如起一个class名叫“active”。

我们可以用JS从tab项或导航菜单中添加和删除该class类名,方法如下:

1、通过JS取到所有tab的节点

var arr = document.getElementsByClassName("tab_item");

2、在被选中的子节点加上.classList.add(“类名”),比如:

arr[i].classList.add("active");

这样就给当前子选项卡添加了“active”类样式。

3、把其他的选项卡的“active”移除,只需要在其他子节点的后面加上.classList.remove(“类名”):

arr[j].classList.remove("active");

使用js实现tab选项卡不同选项样式切换,你可以参考以上方法实现。

125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/1166.html

(0)
江山如画的头像江山如画管理团队
animation动画详解:制作颜色不停变化的正方形
上一篇 2018年2月8日 上午10:47
UEditor编辑器如何设置代码高亮?
下一篇 2018年2月9日 上午10:08

99%的人还看了以下文章

  • CSS3 transition transform属性及实例详解-鼠标放到图片上图片等比例放大

    CSS3的transform:scale()可以实现按比例放大或者缩小功能,transform呈现的是一种变形结果。 CSS3的transition允许CSS的属性值在一定的时间区间内平滑地过渡,transition呈现的是一种过渡,是一种动画转换过程,如渐显、渐弱、动画快慢等。 transiton:过渡属性 过渡所需要时间 过渡动画函数 过渡延迟时间; t…

    2018年8月1日
    12.9K0
  • CSS制作三角形原理—超简单

    CSS制作三角形原理—超简单CSS制作三角形原理—超简单CSS制作三角形原理—超简单CSS制作三角形原理—超简单

    网页制作中我们经常会需要三角形图标,例如内容展开收起、左右箭头点击切换轮播,点击某条列表数据查看详情等。 三角形图标应用范围广,我们有必要了解一下它的实现原理。 1) 一个最基础的边框效果 .content { width: 50px; height: 50px; border: 2px solid; border-color:#ff9600 #3366ff…

    2019年11月26日 网页制作
    8.3K0
  • 第7课:元素的分类与标识(class和id)

    有时,你希望对特定元素或者特定一组元素应用特殊的样式。在这一课,我们将深入学习如何利用class和id来为所选元素指定属性。 如何实现为网站上许多标题中的某一个单独应用颜色?如何实现把网站上的链接分为不同的类,并对各类链接分别应用不同的样式?这只是本课将解决的诸多问题中的最具代表性的两个问题。 用class对元素进行分类 比方说,我们有两个由链接组成的列表。…

    2020年2月25日
    6.6K0
  • jQuery带标题的图标图片轮播特效(免费)

    在<head></head>之间引入 <link rel=”stylesheet” type=”text/css” href=”css/font-awesome.css”> <link rel=”stylesheet” href=”css/style.css”> 在<body></body&g…

    2018年9月12日
    10.4K0
  • 在网页中间弹窗代码-网页遮罩效果

    在网页中间弹出窗口,使整个网页变半透明。 <style> .bg{position:absolute;z-index:999;filter:alpha(opacity=50);background:#666;opacity: 0.5;-moz-opacity: 0.5;left:0;top:0;height:99%;width:100%;} .b…

    2019年1月5日
    4.9K0
  • CSS进阶,4个案例入门,学会LESS使用

    Less 简介 什么是LESSCSS LESSCSS是一种动态样式语言,属于CSS预处理语言的一种,它使用类似CSS的语法,为CSS的赋予了动态语言的特性,如变量、继承、运算、函数等,更方便CSS的编写和维护。 LESSCSS可以在多种语言、环境中使用,包括浏览器端、桌面客户端、服务端。 Less语言特性 LESS的变量 变量允许我们单独定义一系列通用的样式…

    2019年7月17日
    4.4K0

发表回复

登录后才能评论