选项卡--JQuery篇

    xiaoxiao2022-07-12  149

    该方法实现选项卡原理: 每个a标签的对应一个div块,除了第一个div块,其他都隐藏起来,后面通过给a标签添加点击事件,获取a标签的href属性值,即该属性值去掉#号就是对应div块的id,通过给该块添加active类和删除其他块可能存在的active就可以很简单地实现了.

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>选项卡-JQuery版</title> <style type="text/css"> ul{ clear: both; overflow: hidden; padding: 0; } ul li{ float: left; list-style: none; } .option-blocks .block{ overflow: hidden; display: none; } .active{ display: block!important;/*提升级别,防止被以上的display: none覆盖*/ } .option-tabs ul{ border-bottom: 1px solid #ddd; } .option-tabs ul li a{ text-decoration: none; padding: 5px 10px; } .option-tabs ul li a:visited{ background: red; } </style> </head> <body> <div clss="tabs-container"> <div class="option-tabs"> <ul> <li><a href="#block-a">block-a</a></li> <li><a href="#block-b">block-b</a></li> <li><a href="#block-c">block-c</a></li> <li><a href="#block-d">block-d</a></li> </ul> </div> <div class="option-blocks"> <div id="block-a" class="block active">block-A</div> <div id="block-b" class="block">block-B</div> <div id="block-c" class="block">block-C</div> <div id="block-d" class="block">block-D</div> </div> </div> <!--引用jq插件--> <script src="https://code.jquery.com/jquery-3.0.0.min.js"></script> <script> $('.option-tabs ul a').click(function(){ //获取a标签的href属性值 var href = $(this).attr('href'); //移除所有的active类 $('.option-blocks > .block').removeClass('active'); //给当前选中的blcok增加active类 $('.option-blocks > '+href).addClass('active'); }) </script> </body> </html>

    简单展示效果 优点: 1.只需要配置好a标签的href属性和div的id即可随时添加选项模块,不需要再动其他地方的代码(即href属性值和模块id值要一样,但是 href属性值前面需加一个#号). 2.代码量少. 3.原理容易理解. 缺点:选项卡每个模块id名需不一样.

    注意: 只是简单实现了选项卡功能,具体css样式可自行设置.

    最新回复(0)