简单的选项卡功能实现

news/2024/11/8 14:55:37/

 

 第一种方法是用原生的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是借鉴与别人的方法,第二种是我在第一个方法的基础上编写的。。。



http://www.ppmy.cn/news/128525.html

相关文章

android 动画实现倒车,一种快速实现Android车机冷启动全景倒车的方法与流程

本发明涉及一种快速实现Android车机冷启动全景倒车的方法,属于车辆设备技术领域。 背景技术: 目前市场上的车机在解决倒车辅助系统的冷启动时存在时间较长的弊端,主要原因是由于虚拟机的运行及加载方式导致系统启动时间逐步变慢。基于安全驾驶的考量,汽车在启动时需要立刻响…

多线阵列激光三维扫描系统及多线阵列激光三维扫描方法

目录 Abstract Images (6) Description 技术领域 背景技术 发明内容 附图说明 具体实施方式 文章的图片形式 Abstract 一种多线阵列激光三维扫描系统及多线阵列激光三维扫描方法&#xff0c;该系统通过可编程门阵列FPGA&#xff08;101&#xff09;实现多线阵列激光三维…

win8不能调节亮度的解决方法

win8不能调节亮度的解决方法 这篇文章的内容如下: 有些笔记本安装上win8后不能调节亮度。解决方法如下&#xff1a;鼠标移到右下角&#xff0c;点击搜索&#xff0c;输入“regedit”》打开“regedit.exe”>在“编辑”菜单中使用“查找”》在查找中输入“EnableBrightnessCon…

F4/F7飞控betaflight固件烧写,地面站 BF无法读取、不识别、未发现等飞控疑难杂症问题解决与驱动安装

目录 1.安装驱动 2.测试固件 3.烧录固件 4.寻找补充代码 betaflight/unified_targets/configs/OMNIBUSF4SD.config 5.连接飞控&#xff0c;点击cli命令行。 6.寻找其他稳定版本 当安装完毕betaflight软件后&#xff0c;第一次链接飞控与电脑&#xff0c;出现无法连接情况…

利用Oracle RDA( Remote Diagnostic Agent)快速收集Oracle产品分析数据

利用Oracle RDA&#xff08; Remote Diagnostic Agent&#xff09;快速收集Oracle产品分析数据 原文地址&#xff1a;利用Oracle RDA快速收集Oracle产品分析数据 作者&#xff1a;尛样儿 Remote Diagnostic Agent (RDA) 是一个工程师用Perl语言编写的命令行诊断工具&#xf…

Oracle中的索引

oracle中的索引 介绍&#xff1a; 单列索引 是指在单个列上创建的索引&#xff0c;它是最常见和基本的索引类型之一。单列索引可以加快对特定列的查询速度&#xff0c;并提高查询的性能。 在 Oracle 数据库中&#xff0c;创建单列索引可以使用以下语法&#xff1a; CREATE…

如何复制投票链接投票怎样链接到公众号投票链接如何生成

关于微信投票&#xff0c;我们现在用的最多的就是小程序投票&#xff0c;今天的网络投票&#xff0c;在这里会教大家如何用“活动星投票”小程序来进行投票。 我们现在要以“妙趣拾光”为主题进行一次投票活动&#xff0c;我们可以在在微信小程序搜索&#xff0c;“活动星投票”…

清理油烟机

家人说油烟机需要清理了&#xff0c;一个人弄不下来&#xff0c;我说今天周末&#xff0c;正好我来帮忙一起弄&#xff0c;其实我也有感觉&#xff0c;最近在客厅会闻见油烟味&#xff0c;那应该隐约就是厨房的油烟机没有什么效果了&#xff0c;油烟抽不走了。 卸载的时候&…