js/jQuery简单实现选项卡功能


Posted in Javascript onJanuary 02, 2014

第一种方法是用原生的js代码如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>简单选项卡</title>
    <style type="text/css">
    body,ul,li{margin:0;padding:0;}
    body{font:12px/1.5 Tahoma;}
    #outer{width:450px;margin:10px auto;}
    #tab{overflow:hidden;zoom:1;background:#000;border:1px solid #000;}
    #tab li{float:left;color:#fff;height:30px;cursor:pointer;line-height:30px;list-style-type:none;padding:0 20px;}
    #tab li.current{color:#000;background:#ccc;}
    #content{border:1px solid #000;border-top-width:0;}
    #content ul{line-height:25px;display:none;margin:0 30px;padding:10px 0;}
    </style>
    <script type="text/javascript">
      window.onload = function ()
      {
          var oLi = document.getElementById("tab").getElementsByTagName("li");
          var oUl = document.getElementById("content").getElementsByTagName("ul");
          for(var i = 0; i < oLi.length; i++)
          {
              oLi[i].index = i;
              oLi[i].onmouseover = function (){
                  for(var n = 0;n < oLi.length;n++)
                  {
                      oLi[n].className = "";
                      this.className = "current";
                  }
                      for(var n = 0;n <oUl.length;n++)
                      {
                          oUl[n].style.display = "none";
                          oUl[this.index].style.display="block";
                      }
              }
          }
      }
    </script>
    </head>
<body>
<div id="outer">
<ul id="tab">
    <li class="current">科技</li>
    <li>旅游</li>
    <li>娱乐</li>
</ul>
<div id="content">
    <ul style="display:block;">
        <li>宏?R7双转轴变形本评测:触摸板设计过于另类(图)</li>
        <li> 超薄加防水 索尼Xperia Tablet Z平板电脑评测</li>
        <li>诺基亚Lumia 925评测 最好的WP8智能手机</li>
        <li> 联想IdeaPad S405评测 性能主流续航待提升</li>
        <li>小辣椒M2智能手机评测: 再不换壳我们就该老了</li>
        <li>联想K900内部构造 看国产神器多少国产货(组图)</li>
        <li>联想K900内部构造 看国产神器多少国产货(组图)</li>
        <li>网页换肤效果</li>
        <li>联想K900内部构造 看国产神器多少国产货(组图)</li>
    </ul>
    <ul>
        <li>爱上西雅图,美国全景游精选推荐 </li>
        <li>爱上西雅图,美国全景游精选推荐 </li>
        <li>爱上西雅图,美国全景游精选推荐 </li>
        <li>爱上西雅图,美国全景游精选推荐 </li>
        <li>爱上西雅图,美国全景游精选推荐 </li>
        <li>爱上西雅图,美国全景游精选推荐 </li>
        <li>爱上西雅图,美国全景游精选推荐 </li>
        <li>爱上西雅图,美国全景游精选推荐 </li>
        <li>爱上西雅图,美国全景游精选推荐 </li>
        <li>爱上西雅图,美国全景游精选推荐 </li>
        <li>爱上西雅图,美国全景游精选推荐 </li>
        <li>爱上西雅图,美国全景游精选推荐 </li>
        <li>爱上西雅图,美国全景游精选推荐 </li>
    </ul>
    <ul>
        <li>李安宣布辞拍美剧《暴君》:需要休息</li>
        <li>李安宣布辞拍美剧《暴君》:需要休息</li>
        <li>李安宣布辞拍美剧《暴君》:需要休息</li>
        <li>李安宣布辞拍美剧《暴君》:需要休息</li>
        <li>李安宣布辞拍美剧《暴君》:需要休息</li>
        <li>李安宣布辞拍美剧《暴君》:需要休息</li>
        <li>李安宣布辞拍美剧《暴君》:需要休息</li>
        <li>李安宣布辞拍美剧《暴君》:需要休息</li>
        <li>李安宣布辞拍美剧《暴君》:需要休息</li>
        <li>李安宣布辞拍美剧《暴君》:需要休息</li>
        <li>李安宣布辞拍美剧《暴君》:需要休息</li>
    </ul>
</div>
</div>
</body>
</html>

第二种方法是用jQuery实现,代码比第一种简洁
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>简单选项卡</title>
    <style type="text/css">
    body,ul,li{margin:0;padding:0;}
    body{font:12px/1.5 Tahoma;}
    #outer{width:450px;margin:10px auto;}
    #tab{overflow:hidden;zoom:1;background:#000;border:1px solid #000;}
    #tab li{float:left;color:#fff;height:30px;cursor:pointer;line-height:30px;list-style-type:none;padding:0 20px;}
    #tab li.current{color:#000;background:#ccc;}
    #content{border:1px solid #000;border-top-width:0;}
    #content ul{line-height:25px;display:none;margin:0 30px;padding:10px 0;}
    </style>
    <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
    <script type="text/javascript">    $(function(){
            var timeid;
          $("#tab").find("li").each(function(index){
              var sLi=$(this);
              sLi.mouseenter(function(){
                  timeid= setTimeout(function(){
                      sLi.addClass("current").siblings().removeClass("current");
                      sLi.parent().next().find("ul:eq(" + index +")").show().siblings().hide() ;
                 },300);
              }).mouseleave(function(){
                     clearTimeout(timeid);
                      })

          })
        })
    </script>
    </head>
<body>
<div id="outer">
<ul id="tab">
    <li class="current">科技</li>
    <li>旅游</li>
    <li>娱乐</li>
</ul>
<div id="content">
    <ul style="display:block;">
        <li>宏?R7双转轴变形本评测:触摸板设计过于另类(图)</li>
        <li> 超薄加防水 索尼Xperia Tablet Z平板电脑评测</li>
        <li>诺基亚Lumia 925评测 最好的WP8智能手机</li>
        <li> 联想IdeaPad S405评测 性能主流续航待提升</li>
        <li>小辣椒M2智能手机评测: 再不换壳我们就该老了</li>
        <li>联想K900内部构造 看国产神器多少国产货(组图)</li>
        <li>联想K900内部构造 看国产神器多少国产货(组图)</li>
        <li>网页换肤效果</li>
        <li>联想K900内部构造 看国产神器多少国产货(组图)</li>
    </ul>
    <ul>
        <li>爱上西雅图,美国全景游精选推荐 </li>
        <li>爱上西雅图,美国全景游精选推荐 </li>
        <li>爱上西雅图,美国全景游精选推荐 </li>
        <li>爱上西雅图,美国全景游精选推荐 </li>
        <li>爱上西雅图,美国全景游精选推荐 </li>
        <li>爱上西雅图,美国全景游精选推荐 </li>
        <li>爱上西雅图,美国全景游精选推荐 </li>
        <li>爱上西雅图,美国全景游精选推荐 </li>
        <li>爱上西雅图,美国全景游精选推荐 </li>
        <li>爱上西雅图,美国全景游精选推荐 </li>
        <li>爱上西雅图,美国全景游精选推荐 </li>
        <li>爱上西雅图,美国全景游精选推荐 </li>
        <li>爱上西雅图,美国全景游精选推荐 </li>
    </ul>
    <ul>
        <li>李安宣布辞拍美剧《暴君》:需要休息</li>
        <li>李安宣布辞拍美剧《暴君》:需要休息</li>
        <li>李安宣布辞拍美剧《暴君》:需要休息</li>
        <li>李安宣布辞拍美剧《暴君》:需要休息</li>
        <li>李安宣布辞拍美剧《暴君》:需要休息</li>
        <li>李安宣布辞拍美剧《暴君》:需要休息</li>
        <li>李安宣布辞拍美剧《暴君》:需要休息</li>
        <li>李安宣布辞拍美剧《暴君》:需要休息</li>
        <li>李安宣布辞拍美剧《暴君》:需要休息</li>
        <li>李安宣布辞拍美剧《暴君》:需要休息</li>
        <li>李安宣布辞拍美剧《暴君》:需要休息</li>
    </ul>
</div>
</div>
</body>
</html>

第一种方法用原生的js是借鉴与别人的方法,第二种是我在第一个方法的基础上编写的。。。
Javascript 相关文章推荐
JQUERY 实现窗口滚动搜索框停靠效果(类似滚动停靠)
Mar 27 Javascript
JS分页控件 可用于无刷新分页
Jul 23 Javascript
JavaScript中instanceof与typeof运算符的用法及区别详细解析
Nov 19 Javascript
Jquery如何实现点击时高亮显示代码
Jan 22 Javascript
jQuery实现下拉框多选 jquery-multiselect 的实例代码
Jul 14 Javascript
canvas的神奇用法
Feb 03 Javascript
JS 实现随机验证码功能
Feb 15 Javascript
利用Vue v-model实现一个自定义的表单组件
Apr 27 Javascript
js实现移动端轮播图
Dec 21 Javascript
element-ui tooltip修改背景颜色和箭头颜色的实现
Dec 16 Javascript
使用PreloadJS加载图片资源的基础方法详解
Feb 03 Javascript
微信小程序淘宝首页双排图片布局排版代码(推荐)
Oct 29 Javascript
jQuery(js)获取文字宽度(显示长度)示例代码
Dec 31 #Javascript
js判断字符长度以及中英文数字等
Dec 31 #Javascript
checkbox全选所涉及到的知识点介绍
Dec 31 #Javascript
用js+iframe形成页面的一种遮罩效果的具体实现
Dec 31 #Javascript
js类式继承的具体实现方法
Dec 31 #Javascript
利用javascript判断文件是否存在
Dec 31 #Javascript
jquery实现checkbox全选全不选的简单实例
Dec 31 #Javascript
You might like
PHP脚本数据库功能详解(中)
2006/10/09 PHP
限制ckeditor上传图片文件大小的方法
2013/11/15 PHP
php两种无限分类方法实例
2015/04/21 PHP
php.ini中的request_order推荐设置
2015/05/10 PHP
JQuery表单验证插件EasyValidator用法分析
2014/11/15 Javascript
JavaScript实现穷举排列(permutation)算法谜题解答
2014/12/29 Javascript
javascript实现数组去重的多种方法
2016/03/14 Javascript
Vue自定义指令介绍(2)
2016/12/08 Javascript
3种vue路由传参的基本模式
2018/02/22 Javascript
详解Vue开发微信H5微信分享签名失败问题解决方案
2018/08/09 Javascript
使用layer弹窗和layui表单实现新增功能
2018/08/09 Javascript
Angular resolve基础用法详解
2018/10/03 Javascript
vue中使用v-model完成组件间的通信
2019/08/22 Javascript
layui 选择列表,打勾,点击确定返回数据的例子
2019/09/02 Javascript
微信小程序获取用户信息及手机号(后端TP5.0)
2019/09/12 Javascript
Python 文件操作的详解及实例
2017/09/18 Python
Caffe均值文件mean.binaryproto转mean.npy的方法
2018/07/09 Python
Flask框架踩坑之ajax跨域请求实现
2019/02/22 Python
python利用Opencv实现人脸识别功能
2019/04/25 Python
python opencv圆、椭圆与任意多边形的绘制实例详解
2020/02/06 Python
Python多线程threading join和守护线程setDeamon原理详解
2020/03/18 Python
Python如何将将模块分割成多个文件
2020/08/04 Python
python使用requests库爬取拉勾网招聘信息的实现
2020/11/20 Python
scrapy在python爬虫中搭建出错的解决方法
2020/11/22 Python
python 制作网站筛选工具(附源码)
2021/01/21 Python
一款利用html5和css3实现的3D立方体旋转效果教程
2016/04/26 HTML / CSS
俄罗斯街头服装品牌:Black Star Wear
2017/03/01 全球购物
会计实习期自我鉴定
2013/10/06 职场文书
高级销售员求职信
2013/10/25 职场文书
大学生应聘推荐信范文
2013/11/19 职场文书
贯彻学习两会心得体会范文
2014/03/17 职场文书
教师党员承诺书
2014/03/25 职场文书
社区党务工作总结2015
2015/05/19 职场文书
同意报考公务员证明
2015/06/17 职场文书
MySQL令人大跌眼镜的隐式转换
2021/08/23 MySQL
尝试使用Python爬取城市租房信息
2022/04/12 Python