JS实现图文并茂的tab选项卡效果示例【附demo源码下载】
(编辑:jimmy 日期: 2024/11/20 浏览:3 次 )
本文实例讲述了JS实现图文并茂的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 charset="UTF-8"> <title>JS打造的一个图文并茂的选项卡代码</title> <script type="text/javascript"><!--//--><![CDATA[//><!-- //为选项卡的默认值进行设定,方法为读取cardBar里面的li标签是否已经有selected属性,如果没有则使用默认值。 function loadTab(){ //读取cardBar下面所有li标签 var getId=document.getElementById("cardBar").getElementsByTagName("li"); //定义一个判断是否有selected的变量 var selectedItems=0; //判断方法,循环读出li标签的className,如果有则selectedItems加1 for(i=0;i<getId.length;i++){ if (getId[i].className == "Selected"){ selectedItems+=1; } } //经过循环,如果selectedItems没有数值,那么说明没有selected的标签,因此给标签加上默认的className if (selectedItems==0){ document.getElementById("cardBar").getElementsByTagName("li")[0].className="Selected"; document.getElementById("Dcard1").style.display="block"; } } //让窗口打开就运行他 window.onload=loadTab; //设定结束 //进行选项卡效果的触发 function switchTab(cardBar,cardId){ //读取cardBar下面所有li标签 var oItems = document.getElementById(cardBar).getElementsByTagName("li"); //循环清空li标签下面的selected效果 for (i=0;i<oItems.length;i++ ){ var x=oItems[i]; x.className=""; var y=x.getElementsByTagName("a"); y[0].style.color="#333"; } //开始选项卡效果的赋值,为选中的li标签增加selected类的属性 document.getElementById(cardId).className="Selected"; //读出cardContent 下面的所有div标签 var dvs=document.getElementById("cardContent").getElementsByTagName("div"); //循环,判断应该显示的div for (i=0;i<dvs.length;i++ ){ if (dvs[i].id==("D"+cardId)){ dvs[i].style.display="block"; }else{ dvs[i].style.display="none"; } } } //--><!]]></script> <style type="text/css"> <!--/*--><![CDATA[/*><!--*/ body {margin:0 auto;padding:0;font:62.5%/2em "MingLiu" Arial;text-align:center;} img, a img {border:0;display:block;} .clearfix:after {content:".";display:block;height:0;clear:both;visibility:hidden;} .clearfix {display:inline-block;} /* Hides from IE-mac \*/ * html .clearfix {height:1%;} .clearfix {display:block;} /* End hide from IE-mac */ .tab {width:50%;margin:0 auto;} .nav, .nav li a, .hackBox {list-style:none;border:1px solid #ccc;} .nav {position:relative;margin:1em 0 0;border-width:0 0 1px;} .nav li {float:left;margin:0 .3em;} .nav li a {position:relative;display:block;float:left;margin:0 0 -1px;padding:0 .8em;background:#eee;color:#666;font-size:1.1em;line-height:1.8em;text-decoration:none;} /*- .nav li a:hover, -*/ .nav li.Selected a {border-bottom-color:#fff;background:#fff;color:#000;line-height:2em;} /*对点击下栏显示边框的代码进行美化*/ .hackBox {display:none;padding:1em 0 0;border-width:0 1px 1px;} .hackBox p {margin:0 1em 1em;color:#333;font-size:1.1em;text-align:left;} .hackBox img {float:left;width:100px;margin:0 .8em .4em 0;} /*]]>*/--> </style> </head> <body> <div class="tab"> <ul class="nav clearfix" id="cardBar"> <li id="card1"><a href="#" title="" onclick="javascript:switchTab('cardBar','card1');">生死的轮回</a></li> <li id="card2"><a href="#" title="" onclick="javascript:switchTab('cardBar','card2');">逝去的吉他</a></li> <li id="card3"><a href="#" title="" onclick="javascript:switchTab('cardBar','card3');">解读黄家驹</a></li> <li id="card4"><a href="#" title="" onclick="javascript:switchTab('cardBar','card4');">谁伴我闯荡</a></li> <li id="card5"><a href="#" title="" onclick="javascript:switchTab('cardBar','card5');">骄阳岁月</a></li> <li id="card6"><a href="#" title="" onclick="javascript:switchTab('cardBar','card6');">吉他低泣时</a></li> </ul> <div id="cardContent"> <div id="Dcard1" class="hackBox"><p><img src="/UploadFiles/2021-04-02/165.jpg">运行效果图如下:
完整实例代码点击此处本站下载。
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript切换特效与技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。
下一篇:AngularJS ngModel实现指令与输入直接的数据通信