• 原生javascript写的Tab菜单(函数版)


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    <style type="text/css">
    ul,li{ margin:0; padding:0;}
    .tabBox{ 268px; margin:20px;}
    ul.tabTag{ height:28px;border-bottom:1px solid #000;list-style:none}
    ul.tabTag li{ float:left; line-height:27px; height:27px; padding:0 18px;color:#ccc; border:1px solid #ccc; border-bottom:none; margin-right:5px; background:#fff;cursor:pointer; }
    ul.tabTag li.active{ border-color:#000;background:#eee;color:red;position:relative;top:1px;}
    .tabCon{ border:1px solid #000;border-top:none;background:#fff;}
    .tCon{ display:none; background:#eee; padding:25px;}
    </style>
    <script type="text/javascript">    
    /*
        函数功能:实现tab菜单
        tabMenu(tabBox,navClass);
        参数一:tabBox     (tab容器id)
        参数二:navClass (当前标签样式class)
        备注:依赖指定html结构
    */
        function tabMenu(tabBox,navClass){
            var tabNavLi=document.getElementById(tabBox).getElementsByTagName("ul")[0].getElementsByTagName("li");
            var tabCon=document.getElementById(tabBox).getElementsByTagName("div")[0].getElementsByTagName("div");
            var tabLens=tabCon.length;
            for(var i=0;i<tabLens;i++){
            //应用js闭包传入参数i作为当前索引值赋值给m
              (function(m){
                tabNavLi[m].onmouseover = function(){
                    for(var j=0; j<tabLens; j++){
                        tabNavLi[j].className = (j==m)?navClass:"";
                        tabCon[j].style.display = (j==m)?"block":"";
                    }
                }
              })(i);    
            }
        }
    //函数调用
    window.onload=function(){
        tabMenu("tabBox1","active");
        tabMenu("tabBox2","active");
    }
    </script>
    </head>
    
    <body>
    <!--demo1-->
    <div id="tabBox1" class="tabBox">
        <ul class="tabTag">
            <li class="active">新闻</li>
            <li>体育</li>
            <li>财经</li>
        </ul>
        <div class="tabCon">
            <div class="tCon" style="display:block">新闻新闻新闻</div>
            <div class="tCon">体育体育体育</div>
            <div class="tCon">财经财经财经</div>
        </div>
    </div>
    <!--demo2-->
    <div id="tabBox2" class="tabBox">
        <ul class="tabTag">
            <li class="active">新闻</li>
            <li>体育</li>
            <li>财经</li>
        </ul>
        <div class="tabCon">
            <div class="tCon" style="display:block">新闻新闻新闻</div>
            <div class="tCon">体育体育体育</div>
            <div class="tCon">财经财经财经</div>
        </div>
    </div>
    
    </body>
    </html>
  • 相关阅读:
    Assembly Manifest 通俗简易手册
    CruiseControl服务器安装配置
    关于URL编码
    从A到Z来说说Web开发
    通过注册表查看 .NET Framework的版本信息
    云数据存在哪里?
    C#中你可能不知道的8件事(zz)
    用PBKDF2 或BCrypt 来存储密码
    C++编译器什么时候为我们自动生成拷贝构造函数?
    C#中你可能不知道的8件事(zz)
  • 原文地址:https://www.cnblogs.com/huanlei/p/2453143.html
Copyright © 2020-2023  润新知