• 技术文章 >web前端 >js教程

    JQuery 选项卡效果(JS与HTML的分离)

    高洛峰高洛峰2017-02-04 14:33:10原创701
    在实际应用过程中,只要保证选项卡模块结构代码的完整性,就可以任意添加N个同类选项卡,不需要手动在HTML里绑定事件处理程序以及给要隐藏显示的内容层添加ID。
    Javascript(jquery)代码如下:

    <script language="javascript" type="text/javascript"> 
    $(document).ready(function(){ 
    $("ul.menu li:first-child").addClass("current"); 
    $("div.content").find("div.layout:not(:first-child)").hide(); 
    $("div.content div.layout").attr("id", function(){return idNumber("No")+ $("div.content div.layout").index(this)}); 
    $("ul.menu li").click(function(){ 
    var c = $("ul.menu li"); 
    var index = c.index(this); 
    var p = idNumber("No"); 
    show(c,index,p); 
    }); 
    function show(controlMenu,num,prefix){ 
    var content= prefix + num; 
    $('#'+content).siblings().hide(); 
    $('#'+content).show(); 
    controlMenu.eq(num).addClass("current").siblings().removeClass("current"); 
    }; 
    function idNumber(prefix){ 
    var idNum = prefix; 
    return idNum; 
    }; 
    }); 
    </script>

    CSS样式代码如下:

    <style type="text/css"> 
    * {margin:0; padding:0} 
    ul,li { list-style:none} 
    .box {width:450px; height:150px; border:1px solid #ccc; margin:10px; font-size:12px; font-family:Verdana, Arial, Helvetica, sans-serif} 
    .tagMenu {height:28px; line-height:28px; background:#efefef; position:relative; border-bottom:1px solid #999} 
    .tagMenu h2 {font-size:12px; padding-left:10px;} 
    .tagMenu ul {position:absolute; left:100px; bottom:-1px; height:26px;} 
    ul.menu li {float:left; margin-bottom:1px; line-height:16px; height:14px; margin:5px 0 0 -1px; border-left:1px solid #999; text-align:center; padding:0 12px; cursor:pointer} 
    ul.menu li.current {border:1px solid #999; border-bottom:none; background:#fff; height:25px; line-height:26px; margin:0} 
    .content { padding:10px} 
    </style>

    HTML结构代码如下:

    <body> 
    <div class="box"> 
    <div class="tagMenu"> 
    <h2>No.1 Menu</h2> 
    <ul class="menu"> 
    <li>Label 1.1</li> 
    <li>Label 1.2</li> 
    <li>Label 1.3</li> 
    <li>Label 1.4</li> 
    </ul> 
    </div> 
    <div class="content"> 
    <div class="layout">infomation 1.1</div> 
    <div class="layout">infomation 1.2</div> 
    <div class="layout">infomation 1.3</div> 
    <div class="layout">infomation 1.4</div> 
    </div> 
    </div> 
    <div class="box"> 
    <div class="tagMenu"> 
    <h2>No.2 Menu</h2> 
    <ul class="menu"> 
    <li>Label 2.1</li> 
    <li>Label 2.2</li> 
    <li>Label 2.3</li> 
    <li>Label 2.4</li> 
    </ul> 
    </div> 
    <div class="content"> 
    <div class="layout">infomation 2.1</div> 
    <div class="layout">infomation 2.2</div> 
    <div class="layout">infomation 2.3</div> 
    <div class="layout">infomation 2.4</div> 
    </div> 
    </div> 
    </body>

    更多JQuery 选项卡效果(JS与HTML的分离)相关文章请关注PHP中文网!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:JQuery 选项卡
    上一篇:javascript实现tabs选项卡切换效果 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • react怎么实现滚动条• react 怎么实现按需加载• 一文聊聊node文件的读写操作• Angular学习之聊聊独立组件(Standalone Component)• 浅析Angular中的Change Detection机制
    1/1

    PHP中文网