Advertisement
trentjs

Band Tabs Clickable Content

Nov 25th, 2020
128
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.     .bandNav{
  13.         padding: 0.5em 1em 0.5em 1em;
  14.         cursor: pointer;
  15.         margin:0px;
  16.         border-radius:3px;
  17.         font-size: 0.9em;
  18.     }
  19.  
  20.     .bandContent{
  21.         display: none;
  22.         width:100%;
  23.         padding: 1em;
  24.     }
  25.  
  26.     .bandContentStart{
  27.         display:block;
  28.     }
  29.  
  30.     .bandNav{
  31.         color:#ffffff;
  32.         background-color: #6666cc;
  33.         border-top:1px solid #ffffff;
  34.     }
  35.  
  36.     .bandNavActive{
  37.         background-color:#8888ee;
  38.         border-top:1px solid #ffffff;
  39.         border-left:1px solid #8888ee;
  40.         border-right:1px solid#8888ee;
  41.         border-bottom:1px solid #8888ee;
  42.         cursor:default !important;
  43.     }
  44.  
  45. </style>
  46.  
  47. </head>
  48. <body>
  49.  
  50. <div id="tab00" class="bandNav bandNavActive" data-band-id="content00" data-band-class="group00" data-block="block">Tab 00</div>
  51. <div id="content00" class="bandContent bandContentStart" data-band-class="group00">
  52.     0. Content 00
  53. </div>
  54.  
  55. <div id="tab01" class="bandNav" data-band-id="content01" data-band-class="group00" data-block="block">Tab 01</div>
  56. <div id="content01" class="bandContent" data-band-class="group00">
  57.     1. Content 01 One
  58. </div>
  59.  
  60. <div id="tab02" class="bandNav" data-band-id="content02" data-band-class="group00" data-block="block">Tab 02</div>
  61. <div id="content02" class="bandContent" data-band-class="group00">
  62.     2. Content 002 Two Two
  63. </div>
  64.  
  65. <script>
  66.  
  67. var bandContentList = document.getElementsByClassName("bandContent");
  68.  
  69. var bandNavList = document.getElementsByClassName("bandNav");
  70. for (var i = 0; i < bandNavList.length; i++) {
  71.     bandNavList[i].addEventListener("click", bandNavClick);
  72. }
  73.  
  74. function bandNavClick(event){
  75.     var thisId = event.target.id;
  76.     var thisIdSrc = document.getElementById(thisId)
  77.     var thisTargetId = thisIdSrc.getAttribute('data-band-id');
  78.     var thisTargetClass = thisIdSrc.getAttribute('data-band-class');
  79.     var thisTargetBlock = thisIdSrc.getAttribute('data-block');
  80.     console.log(thisTargetId + " : " + thisTargetClass + " : " + thisTargetBlock);
  81.  
  82.     // UPDATE CONTENT DIVS
  83.     for (i = 0; i < bandContentList.length; i++) {
  84.         var srcGroup = bandContentList[i].getAttribute('data-band-class');
  85.         if(srcGroup == thisTargetClass ){
  86.             bandContentList[i].style.display = "none"
  87.         }
  88.     }
  89.     document.getElementById(thisTargetId).style.display = thisTargetBlock;
  90.  
  91.     // UPDATE TAB DIVs
  92.     for (var i = 0; i < bandNavList.length; i++) {
  93.         var thisDataTabClass = bandNavList[i].getAttribute('data-band-class');
  94.         if(thisTargetClass == thisDataTabClass){
  95.             bandNavList[i].classList.remove("bandNavActive");
  96.             bandNavList[i].classList.add("bandNav");
  97.         }
  98.     }
  99.     document.getElementById(thisId).classList.add("bandNavActive");
  100.  
  101. }
  102.  
  103. </script>
  104.  
  105. </body>
  106. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement