Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

CSS और JavaScript से टैब हेडर्स कैसे बनाएं?


टैब हेडर्स (Tab Headers)

CSS और JavaScript से टैब हेडर्स बनाने का कोड:

उदाहरण

<!DOCTYPE html>
<html>
<head>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <style>
    .tablink {
      background-color: black;
      color: white;
      float: left;
      cursor: pointer;
      padding: 20px 12px;
      font-size: 15px;
      width: 33.3%;
    }
    .tablink:hover {
      background-color: black;
    }
    .tabcontent {
      color: white;
      display: none;
      padding: 50px;
      text-align: center;
    }
    #date {
      background-color: blue;
      border: 1px solid black;
    }
    #time {
      background-color: yellow;
      color: black;
      border: 1px solid black;
    }
    #venue {
      background-color: orange;
      border: 1px solid black;
    }
  </style>
</head>
<body>
  <h2>मैच शेड्यूल</h2>
  <div id="date" class="tabcontent">
    <h1>Date</h1>
    <p>मैच 2 अप्रैल को होगा।</p>
  </div>
  <div id="time" class="tabcontent">
    <h1>Time</h1>
    <p>शुरू: 9AM</p>
  </div>
  <div id="venue" class="tabcontent">
    <h1>Venue</h1>
    <p>MCG, ऑस्ट्रेलिया</p>
  </div>
  <button class="tablink" onclick="demo('date', this, 'red')" id="defaultOpen">Date</button>
  <button class="tablink" onclick="demo('time', this, 'green')">Time</button>
  <button class="tablink" onclick="demo('venue', this, 'blue')">Venue</button>
  
  <script>
    function demo(match, e, color) {
      var i, content, links;
      content = document.getElementsByClassName("tabcontent");
      var len1 = content.length;
      for (i = 0; i < len1; i++) {
        content[i].style.display = "none";
      }
      links = document.getElementsByClassName("tablink");
      var len2 = links.length;
      for (i = 0; i < len2; i++) {
        links[i].style.backgroundColor = "";
      }
      document.getElementById(match).style.display = "block";
      e.style.backgroundColor = color;
    }
    document.getElementById("defaultOpen").click();
  </script>
</body>
</html>

आउटपुट

  • पेज लोड पर: "Date" टैब सक्रिय (नीला बैकग्राउंड), Date कंटेंट दिखता है
  • "Time" क्लिक करने पर: हरा बैकग्राउंड, Time कंटेंट
  • "Venue" क्लिक करने पर: नीला बैकग्राउंड, Venue कंटेंट

मुख्य पैटर्न

  • सभी कंटेंट पैनल्स display: none से शुरू होते हैं
  • बटन्स onclick से demo(id, this, color) कॉल करते हैं
  • फंक्शन सभी कंटेंट छुपाता है, सभी बटन रंग रीसेट करता है, फिर चयनित दिखाता/हाइलाइट करता है
  • defaultOpen.click() से प्रारंभिक टैब सक्रिय करें

आधुनिक सुधार

// ES6+ क्लीनर वर्जन
const tabs = document.querySelectorAll('.tablink');
const panels = document.querySelectorAll('.tabcontent');

tabs.forEach(tab => tab.addEventListener('click', () => {
  const target = tab.dataset.target;
  const color = tab.dataset.color;
  
  panels.forEach(p => p.hidden = true);
  tabs.forEach(t => t.style.backgroundColor = '');
  
  document.getElementById(target).hidden = false;
  tab.style.backgroundColor = color;
}));
// HTML: 
  1. JavaScript और CSS से ड्रैगेबल HTML एलिमेंट कैसे बनाएं? JavaScript और CSS से ड्रैगेबल HTML एलिमेंट कैसे बनाएं?

    JavaScript और CSS से ड्रैगेबल HTML एलिमेंट बनाने के लिए कोड निम्न है -उदाहरण<!DOCTYPE html> <html> <style>    body {       font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;    }    .dragDiv {       po

  1. CSS और JavaScript से एकॉर्डियन कैसे बनाएं CSS और JavaScript से एकॉर्डियन कैसे बनाएं

    CSS और JavaScript से एकॉर्डियन बनाने के लिए, कोड निम्नलिखित है:उदाहरण<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <style> .demo { background-color: #eee; cursor: pointer; padding: 25px; width: 100

  1. CSS और JavaScript से रिस्पॉन्सिव स्लाइडशो कैसे बनाएं? CSS और JavaScript से रिस्पॉन्सिव स्लाइडशो कैसे बनाएं?

    CSS और JavaScript से रिस्पॉन्सिव स्लाइडशो बनाने का कोड निम्नलिखित है:उदाहरण<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1" /> <style> * {    box-sizing: border-box; } .Slide {    d