jquery+css实现Tab栏切换的代码实例


Posted in jQuery onMay 14, 2019

前几天面试碰到现场给写一个Tab栏切换的功能,思想基本上懂,但是好久没写过,一时要全部实现效果还真有点难。回来后,再把思路理一理,写一个,基础还是很重要的。

最终要实现的效果图如下:

jquery+css实现Tab栏切换的代码实例

(1)点击tab栏显示对应的内容,并且tab栏样式变化。实现方式:一般tab栏如果要做成比较好看的样式,会切两张图作为背景,一张用于选中时的背景,一张用于未选中的背景。这里为了简单,只用css设置样式。然后为每个tab绑定click事件,当触发click事件时,对应的内容div的display设置block,否则设置为none。

(2)当鼠标悬停在没有选中的tab栏上时,改变样式,移开时又恢复回来的样式。如果tab栏已选中,则鼠标是否悬停不影响样式。实现方式:为tab栏添加hover事件,当鼠标进入时,判断该tab栏是不是被选中(可以为了选中的tab栏设置一个class,只需要判断是否含有该class即可),在不选中的情况下再添加hover的样式。

完整代码如下(代码下载地址):

HTML:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8" />
 <title>tab标签</title>
 <link href="css/style.css" rel="external nofollow" type="text/css" rel="stylesheet">
</head>
<body>
 <div class="tab-contain">
 <!-- tab栏 -->
 <ul id="tabs">
  <li class="current"><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" title="tab1">One</a></li>
  <li><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" title="tab2">Two</a></li>
  <li><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" title="tab3">Three</a></li>
  <li><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" title="tab4">Four</a></li>
 </ul>
 <!-- 对应显示内容 -->
 <div id="content">
  <div id="tab1" class="item show">
  <h2>title 11111</h2>
  <p>text here!!!text here!!!text here!!!text here!!!text here!!!</p>
  <p>text here!!!text here!!!text here!!!text here!!!text here!!!text here!!!text here!!!text here!!!text here!!!text here!!!</p>
  </div>
  <div id="tab2" class="item">
  <h2>title 2222</h2>
  <p>text here!!!text here!!!text here!!</p>
  <p>text here!!!text here!!!text here!!!text here!text here!!!text here!!!text here!!!</p>
  </div>
  <div id="tab3" class="item">
  <h2>title 33333</h2>
  <p>text here!!!</p>
  <p>text here!!!text here!!!text here!!!text here!!!text here!!!text here!!!text here!!!text here!!!text here!!!text here!!!</p>
  </div>
  <div id="tab4" class="item">
  <h2>title 44444</h2>
  <p>text here!!!text here!!!text here!!!text here!!!text here!!!</p>
  <p>text here!!!text </p>
  </div>
 </div>
 </div>

 <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
 <script type="text/javascript" src="js.js"></script>
</body>
</html>

CSS:

.tab-contain{
 margin: 50px auto;
 width: 1000px;
 padding:100px;
 background: #7F7D7D;
}
#tabs {
 overflow: hidden;
 width: 100%;
 margin: 0;
 padding: 0;
 list-style: none;
}
#tabs li {
 float: left;
 margin: 0;
}
li a {
 position: relative;
 background: #ddd;
 padding: 10px 50px;
 float: left;
 text-decoration: none;
 color: #444;
 text-shadow: 0 1px 0 rgba(255, 255, 255, .8);
 border-radius: 20px 20px 0 0;
 box-shadow: 0 2px 2px rgba(0, 0, 0, .4);
}

 .current a{
 outline: 0;
 background: #fff;
  z-index: 4;
}
.hoverItem a{
 background: #AAC8B9;
}
#content {
 background: #fff;
 padding: 50px;
 height: 220px;
 position: relative;
 border-radius: 0 5px 5px 5px;
 box-shadow: 0 -2px 3px -2px rgba(0, 0, 0, .5);
}
.item{
 display: none;
}

.show{
 display: block;
}

JS:

$(function(){
  $('#tabs a').click(function(e) {
   e.preventDefault();    
   $('#tabs li').removeClass("current").removeClass("hoverItem");
   $(this).parent().addClass("current");
   $("#content div").removeClass("show");
   $('#' + $(this).attr('title')).addClass('show');
  });

  $('#tabs a').hover(function(){
  if(!$(this).parent().hasClass("current")){
   $(this).parent().addClass("hoverItem");
  }
  },function(){
  $(this).parent().removeClass("hoverItem");
  });
 });

以上所述是小编给大家介绍的jquery css实现Tab栏切换详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

jQuery 相关文章推荐
jQuery树插件zTree使用方法详解
May 02 jQuery
jQuery选取所有复选框被选中的值并用Ajax异步提交数据的实例
Aug 04 jQuery
jQuery实现的表格前端排序功能示例
Sep 18 jQuery
jQuery EasyUI开发技巧总结
Sep 26 jQuery
基于jQuery使用Ajax动态执行模糊查询功能
Jul 05 jQuery
jQuery动态操作表单示例【基于table表格】
Dec 06 jQuery
jQuery使用bind动态绑定事件无效的处理方法
Dec 11 jQuery
jQuery实现的隔行变色功能【案例】
Feb 18 jQuery
详解jQuery如何实现模糊搜索
May 10 jQuery
jquery实现下载图片功能
Jul 18 jQuery
jQuery实现移动端图片上传预览组件的方法分析
May 01 jQuery
jQuery 动态粒子效果示例代码
Jul 07 jQuery
jquery实现二级导航下拉菜单效果实例
May 14 #jQuery
JQuery获取可视区尺寸和文档尺寸及制作悬浮菜单示例
May 14 #jQuery
jquery 验证用户名是否重复代码实例
May 14 #jQuery
JQuery获取元素尺寸、位置及页面滚动事件应用示例
May 14 #jQuery
JQuery animate动画应用示例
May 14 #jQuery
jquery实现选项卡切换代码实例
May 14 #jQuery
JQuery样式操作、click事件以及索引值-选项卡应用示例
May 14 #jQuery
You might like
php为什么选mysql作为数据库? Mysql 创建用户方法
2007/07/02 PHP
php上传图片到指定位置路径保存到数据库的具体实现
2013/12/30 PHP
PHP防止注入攻击实例分析
2014/11/03 PHP
PHP5多态性与动态绑定介绍
2015/04/03 PHP
php封装的图片(缩略图)处理类完整实例
2016/10/19 PHP
yii2中LinkPager增加总页数和总记录数的实例
2017/08/28 PHP
tagName的使用,留一笔
2006/06/26 Javascript
[原创]后缀就扩展名为js的文件是什么文件
2007/12/06 Javascript
javascript YUI 读码日记之 YAHOO.util.Dom - Part.4
2008/03/22 Javascript
javascript限制文本框只允许输入数字(曾经与现在的方法对比)
2013/01/18 Javascript
JavaScript设计模式之建造者模式介绍
2014/12/28 Javascript
jquery的幻灯片图片切换效果代码分享
2015/09/07 Javascript
理解Javascript图片预加载
2016/02/23 Javascript
getElementById().innerHTML与getElementById().value的区别
2016/10/27 Javascript
用Vue写一个分页器的示例代码
2018/04/22 Javascript
解决vue的 v-for 循环中图片加载路径问题
2018/09/03 Javascript
微信运维交互机器人的示例代码
2018/11/12 Javascript
python正则表达式match和search用法实例
2015/03/26 Python
pymongo实现多结果进行多列排序的方法
2015/05/16 Python
Python如何实现守护进程的方法示例
2017/02/08 Python
python文件名和文件路径操作实例
2017/09/29 Python
Python数据结构与算法之图的最短路径(Dijkstra算法)完整实例
2017/12/12 Python
Python类和对象的定义与实际应用案例分析
2018/12/27 Python
Centos部署django服务nginx+uwsgi的方法
2019/01/02 Python
Python3enumrate和range对比及示例详解
2019/07/13 Python
Django 查询数据库并返回页面的例子
2019/08/12 Python
python实现两个字典合并,两个list合并
2019/12/02 Python
python Tensor和Array对比分析
2020/01/08 Python
python 中不同包 类 方法 之间的调用详解
2020/03/09 Python
基于django和dropzone.js实现上传文件
2020/11/24 Python
利用HTML5+css3+jquery+weui实现仿微信聊天界面功能
2018/01/08 HTML / CSS
html5的canvas实现3d雪花飘舞效果
2013/12/27 HTML / CSS
HTML5实现多张图片上传功能
2016/03/11 HTML / CSS
美国独家设计师眼镜在线光学商店:Glasses Gallery
2017/12/28 全球购物
卡西欧B级产品官方网站:Casio Outlet
2018/05/22 全球购物
采购意向书范本
2014/03/31 职场文书