Untitled
unknown
plain_text
a year ago
3.3 kB
4
Indexable
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Custom Dropdown with Groups</title> <link rel="stylesheet" href="styles.css"> </head> <body> <div class="dropdown-container"> <div class="dropdown-button" onclick="toggleDropdown()">Select an option</div> <div class="dropdown-options" id="dropdown-options"> <div class="dropdown-group"> <div class="dropdown-group-title">Group 1</div> <div class="dropdown-option" onclick="selectOption('Option 1.1')">Option 1.1</div> <div class="dropdown-option" onclick="selectOption('Option 1.2')">Option 1.2</div> </div> <div class="dropdown-group"> <div class="dropdown-group-title">Group 2</div> <div class="dropdown-option" onclick="selectOption('Option 2.1')">Option 2.1</div> <div class="dropdown-option" onclick="selectOption('Option 2.2')">Option 2.2</div> <div class="dropdown-option" onclick="selectOption('Option 2.3')">Option 2.3</div> </div> <div class="dropdown-group"> <div class="dropdown-group-title">Group 3</div> <div class="dropdown-option" onclick="selectOption('Option 3.1')">Option 3.1</div> <div class="dropdown-option" onclick="selectOption('Option 3.2')">Option 3.2</div> </div> </div> </div> <script src="scripts.js"></script> </body> </html> /* styles.css */ body { font-family: Arial, sans-serif; margin: 20px; } .dropdown-container { position: relative; display: inline-block; width: 200px; } .dropdown-button { width: 100%; padding: 10px; border: 1px solid #ccc; background-color: #f9f9f9; cursor: pointer; box-sizing: border-box; } .dropdown-options { display: none; position: absolute; width: 100%; background-color: #fff; border: 1px solid #ccc; box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2); box-sizing: border-box; z-index: 1; max-height: 150px; overflow-y: auto; } .dropdown-group { margin-bottom: 20px; } .dropdown-group-title { padding: 10px; font-weight: bold; background-color: #f0f0f0; } .dropdown-option { padding: 10px; cursor: pointer; } .dropdown-option:hover { background-color: #f1f1f1; } .show { display: block; } // scripts.js function toggleDropdown() { document.getElementById("dropdown-options").classList.toggle("show"); } function selectOption(value) { document.querySelector(".dropdown-button").innerText = value; document.getElementById("dropdown-options").classList.remove("show"); } // Close the dropdown if the user clicks outside of it window.onclick = function(event) { if (!event.target.matches('.dropdown-button')) { var dropdowns = document.getElementsByClassName("dropdown-options"); for (var i = 0; i < dropdowns.length; i++) { var openDropdown = dropdowns[i]; if (openDropdown.classList.contains('show')) { openDropdown.classList.remove('show'); } } } }
Editor is loading...
Leave a Comment