Advertisement
trentjs

Tab Content Clickable

Nov 25th, 2020
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.  
  5. <style>
  6.  
  7.     body{
  8.         background-color: #FFFFFF;
  9.         font-family: Arial, Helvetica, sans-serif;
  10.     }
  11.  
  12.     .tabUl{
  13.         padding:0em 0em 0.4em 0em;
  14.         border-bottom:1px solid #999999;
  15.     }
  16.  
  17.     .tabUl li{
  18.         display: inline;
  19.         list-style-type: none;
  20.         padding: 0.5em 1em 0.5em 1em;
  21.         cursor: pointer;
  22.         margin:0px;
  23.         border-top-left-radius: 6px;
  24.         border-top-right-radius: 6px;
  25.         font-size: 0.9em;
  26.        
  27.     }
  28.  
  29.     .tabContent{
  30.         display: none;
  31.         width:100%;
  32.     }
  33.  
  34.     .tabContentStart{
  35.         display:block;
  36.     }
  37.  
  38.     .tabNav{
  39.         color:#ffffff;
  40.         background-color: #6666cc;
  41.     }
  42.  
  43.     .tabNavActive{
  44.         background-color:#fdfdfd;
  45.         border-top:1px solid #cccccc;
  46.         border-left:1px solid #cccccc;
  47.         border-right:1px solid #cccccc;
  48.         border-bottom:1px solid #fdfdfd;
  49.         color:#555555;
  50.         cursor:default !important;
  51.     }
  52.  
  53. </style>
  54.  
  55. </head>
  56. <body>
  57.  
  58. <ul class="tabUl">
  59.     <li id="tab00" class="tabNav tabNavActive" data-tab-id="content00" data-tab-class="group00" data-block="block">Tab 00</li>
  60.     <li id="tab01" class="tabNav" data-tab-id="content01" data-tab-class="group00" data-block="block">Tab 01</li>
  61.     <li id="tab02" class="tabNav" data-tab-id="content02" data-tab-class="group00" data-block="block">Tab 02</li>
  62. </ul>
  63.  
  64. <div id="content00" class="tabContent tabContentStart" data-tab-class="group00">0. Content 00</div>
  65. <div id="content01" class="tabContent" data-tab-class="group00">1. Content 01 One</div>
  66. <div id="content02" class="tabContent" data-tab-class="group00">2. Content 002 Two Two</div>
  67.  
  68. <script>
  69.  
  70. var tabContentList = document.getElementsByClassName("tabContent");
  71.  
  72. var tabNavList = document.getElementsByClassName("tabNav");
  73. for (var i = 0; i < tabNavList.length; i++) {
  74.     tabNavList[i].addEventListener("click", tabNavClick);
  75. }
  76.  
  77. function tabNavClick(event){
  78.     var thisId = event.target.id;
  79.     var thisIdSrc = document.getElementById(thisId)
  80.     var thisTargetId = thisIdSrc.getAttribute('data-tab-id');
  81.     var thisTargetClass = thisIdSrc.getAttribute('data-tab-class');
  82.     var thisTargetBlock = thisIdSrc.getAttribute('data-block');
  83.     console.log(thisTargetId + " : " + thisTargetClass + " : " + thisTargetBlock);
  84.  
  85.     // UPDATE CONTENT DIVS
  86.     for (i = 0; i < tabContentList.length; i++) {
  87.         var srcGroup = tabContentList[i].getAttribute('data-tab-class');
  88.         if(srcGroup == thisTargetClass ){
  89.             tabContentList[i].style.display = "none"
  90.         }
  91.     }
  92.     document.getElementById(thisTargetId).style.display = thisTargetBlock;
  93.  
  94.     // UPDATE TAB LIs
  95.     for (var i = 0; i < tabNavList.length; i++) {
  96.         var thisDataTabClass = tabNavList[i].getAttribute('data-tab-class');
  97.         if(thisTargetClass == thisDataTabClass){
  98.             tabNavList[i].classList.remove("tabNavActive");
  99.             tabNavList[i].classList.add("tabNav");
  100.         }
  101.     }
  102.     document.getElementById(thisId).classList.add("tabNavActive");
  103.  
  104.  
  105. }
  106.  
  107. </script>
  108.  
  109. </body>
  110. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement