js实现tab切换效果实例


Posted in Javascript onSeptember 16, 2015

直接先来个真相吧:

js实现tab切换效果实例 

【HTML代码】

<div id="menu">
<!--tag标题-->
  <ul id="nav">
    <li><a href="#" class="selected">tab1</a></li>
    <li><a href="#" class="">tab2</a></li>
    <li><a href="#" class="">tab3</a></li>
    <div style="clear:both"></div>
  </ul>
<!--二级菜单-->
  <div id="menu_con">
    <div class="tag" style="display:block">
      这是TAB切换效果区域1
     </div> 
    <div class="tag" style="display:none">
      这是TAB切换效果区域2  
     </div> 
    <div class="tag" style="display:none">
      这是TAB切换效果区域3
    </div> 
</div>
</div>

【js】

/**
 * tabs
 * @author  橡树小屋
 */
var tabs=function(){
  function tag(name,elem){
    return (elem||document).getElementsByTagName(name);
  }
  //获得相应ID的元素
  function id(name){
    return document.getElementById(name);
  }
  function first(elem){
    elem=elem.firstChild;
    return elem&&elem.nodeType==1? elem:next(elem);
  }
  function next(elem){
    do{
      elem=elem.nextSibling; 
    }while(
      elem&&elem.nodeType!=1 
    )
    return elem;
  }
  return {
    set:function(elemId,tabId){
      var elem=tag("li",id(elemId));
      var tabs=tag("div",id(tabId));
      var listNum=elem.length;
      var tabNum=tabs.length;
      for(var i=0;i<listNum;i++){
          elem[i].onclick=(function(i){
            return function(){
              for(var j=0;j<tabNum;j++){
                if(i==j){
                  tabs[j].style.display="block";
                  //alert(elem[j].firstChild);
                  elem[j].firstChild.className="selected";
                }
                else{
                  tabs[j].style.display="none";
                  elem[j].firstChild.className="";
                }
              }
            }
          })(i)
      }
    }
  }
}();
window.onload=function(){
  tabs.set("nav","menu_con");
}

【CSS】

body{ background:#FFF;}
a{color:#585858}
#menu{width:360px;}
/*-------------------nav样式----------------------*/
#menu #nav {display:block;width:100%;padding:0;margin:0;list-style:none;
 background:url(../images/bg.gif)}
#menu #nav li {float:left;width:120px;}
#menu #nav li a {display:block;line-height:27px;text-decoration:none;padding:0 0 0 5px; text-align:center}
 
/*-------------------列表标题样式----------------------*/
#menu_con{ width:358px; height:135px;border:1px solid #BF9660; border-top:none}
.selected{background:url(../images/tag_bg.gif);}
.clear{ clear:both}

调用方法:

tabs.set("nav","menu_con");

代码下载 点击这里

这个实例只是简单实现了点击切换的效果,还有许多功能可以添加,大家一起动手实践一下吧。

Javascript 相关文章推荐
国外Lightbox v2.03.3 最新版 下载
Oct 17 Javascript
JS option location 页面跳转实现代码
Dec 27 Javascript
学习ExtJS(二) Button常用方法
Oct 07 Javascript
js,jquery滚动/跳转页面到指定位置的实现思路
Jun 03 Javascript
javascript原生和jquery库实现iframe自适应高度和宽度
Jul 18 Javascript
js中实现多态采用和继承类似的方法
Aug 22 Javascript
Node.js 条形码识别程序构建思路详解
Feb 14 Javascript
浅谈js构造函数的方法与原型prototype
Jul 04 Javascript
Node.js中防止错误导致的进程阻塞的方法
Aug 11 Javascript
JavaScript截屏功能的实现代码
Jul 28 Javascript
js实现页面多个日期时间倒计时效果
Jun 20 Javascript
微信小程序实现Swiper轮播图效果
Nov 22 Javascript
JS实现自动固定顶部的悬浮菜单栏效果
Sep 16 #Javascript
jQuery图片轮播滚动切换代码分享
Apr 20 #Javascript
JS实现光滑展开合拢的菜单效果代码
Sep 16 #Javascript
jQuery实现两款有动画功能的导航菜单代码
Sep 16 #Javascript
javascript中的previousSibling和nextSibling的正确用法
Sep 16 #Javascript
Javascript实现商品秒杀倒计时(时间与服务器时间同步)
Sep 16 #Javascript
JS+CSS实现的经典tab选项卡效果代码
Sep 16 #Javascript
You might like
处理单名多值表单的详解
2013/06/08 PHP
详谈PHP编码转换问题
2015/07/28 PHP
thinkphp框架下实现登录、注册、找回密码功能
2016/04/06 PHP
Thinkphp5 微信公众号token验证不成功的原因及解决方法
2017/11/12 PHP
Autocomplete Textbox Example javascript实现自动完成成功
2007/08/17 Javascript
Javascript Global对象
2009/08/13 Javascript
javascript+iframe 实现无刷新载入整页的代码
2010/03/17 Javascript
基于jquery的网页SELECT下拉框美化代码
2010/10/28 Javascript
Jquery 选中表格一列并对表格排序实现原理
2012/12/15 Javascript
文件编码导致jquery失效的解决方法
2013/06/26 Javascript
jquery实现图片灯箱明暗的遮罩效果
2013/11/15 Javascript
JavaScript Ajax Json实现上下级下拉框联动效果实例代码
2013/11/23 Javascript
两种方法实现在HTML页面加载完毕后运行某个js
2014/06/16 Javascript
jquery分析文本里url或邮件地址为真实链接的方法
2015/06/20 Javascript
js如何判断输入字符串长度
2015/12/16 Javascript
javascript中的作用域和闭包详解
2016/01/13 Javascript
很全面的JavaScript常用功能汇总集合
2016/01/22 Javascript
JS设置cookie、读取cookie
2016/02/24 Javascript
JavaScript弹出对话框的三种方式
2016/03/23 Javascript
jquery层级选择器的实现(匹配后代元素div)
2016/09/05 Javascript
JavaScript实现页面定时刷新(定时器,meta)
2016/10/12 Javascript
小程序实现列表删除功能
2018/10/30 Javascript
JavaScript中this的全面解析及常见实例
2019/05/14 Javascript
vue 使用外部JS与调用原生API操作示例
2019/12/02 Javascript
JavaScript设计模式之门面模式原理与实现方法分析
2020/03/09 Javascript
Python的自动化部署模块Fabric的安装及使用指南
2016/01/19 Python
python unittest实现api自动化测试
2018/04/04 Python
Python中pillow知识点学习
2018/04/30 Python
python Flask 装饰器顺序问题解决
2018/08/08 Python
python爬虫容易学吗
2020/06/02 Python
详解Python的爬虫框架 Scrapy
2020/08/03 Python
Lenox官网:精美的瓷器&独特的礼品
2017/02/12 全球购物
自荐信如何“自荐”
2013/10/24 职场文书
2015年除四害工作总结
2015/07/23 职场文书
Nginx服务器添加Systemd自定义服务过程解析
2021/03/31 Servers
Redis 配置文件重要属性的具体使用
2021/05/20 Redis