내 드롭 다운 메뉴가 제대로 작동하지 않습니다. 이 탭 아래에 표시 할 항목이 많아 지려고 노력하고 있지만 작업 표시 줄 기능을 사용할 수 없습니다. tabList
을 currentTab
의 기본 UL과 동일하게하려고 노력하고 있습니다. 그러나 거기에 오류가 있으며 그 다음에는 Z- 색인을 설정하여 표시되도록 설정할 수 없습니다. 여기 JSFiddle가있다 :자바 스크립트 드롭 다운 메뉴
HTML
<ul class="tabMenu">
<li class="tab" style="background-color: rgb(221, 221, 255)"><a href="#">Computers</a>
<ul style="z-index: 1">
<li><a href="#">Desktop</a></li>
<li><a href="#">Notebooks</a></li>
<li><a href="#">Tablets</a></li>
<li><a href="#">Remanufactured</a></li>
</ul>
</li>
<li class="tab"><a href="#">Electronics</a>
<ul>
<li><a href="#">Televisions</a></li>
<li><a href="#">Cameras</a></li>
<li><a href="#">Camcorders</a></li>
<li><a href="#">MP3 Players</a></li>
<li><a href="#">Game Stations</a></li>
<li><a href="#">PDAs</a></li>
</ul>
</li>
<li class="tab"><a href="#">Accessories</a>
<ul>
<li><a href="#">Monitors</a></li>
<li><a href="#">Printers</a></li>
<li><a href="#">Memory</a></li>
<li><a href="#">Drives</a></li>
<li><a href="#">Networking</a></li>
<li><a href="#">Mobile</a></li>
</ul>
</li>
<li class="tab"><a href="#">Software</a>
<ul>
<li><a href="#">Utilities</a></li>
<li><a href="#">Business</a></li>
<li><a href="#">Games</a></li>
<li><a href="#">Multimedia</a></li>
<li><a href="#">Operating Systems</a></li>
</ul>
</li>
<li class="tab"><a href="#">Services</a>
<ul>
<li><a href="#">Tech Support</a></li>
<li><a href="#">Downloads</a></li>
<li><a href="#">Drivers</a></li>
<li><a href="#">Documents</a></li>
<li><a href="#">Customer Service</a></li>
<li><a href="#">Contacts</a></li>
</ul>
</li>
<li class="tab"><a href="#">Store</a>
<ul>
<li><a href="#">Shopping Cart</a></li>
<li><a href="#">Checkout</a></li>
<li><a href="#">Your Account</a></li>
<li><a href="#">Shipping</a></li>
<li><a href="#">Specials</a></li>
</ul>
</li>
</ul>
CSS
ul {list-style-type: none}
ul a {color: black; text-decoration: none}
.tabMenu {position: absolute; top: 33px; left: 90px; width: 800px}
.tabMenu > li {width: 100px; height: 20px; text-align: center;
float: left; margin-right: 5px}
.tabMenu > li > a {display: block; margin: 0px; padding: 2px 3px;
border-left: 2px solid rgb(221, 221, 221);
border-top: 2px solid rgb(155, 155, 155);
border-right: 4px solid rgb(102, 102, 102);
border-bottom: 1px solid white}
.tabMenu > li > a:hover {color: black; background-color: rgb(221, 221, 255)}
.tabMenu > li > ul {position: absolute; top: 20px; left: 0px; width: 710px;
padding-top: 5px;
background-color: rgb(221, 221, 255);
border-left: 2px solid rgb(221, 221, 221);
border-right: 4px solid rgb(102, 102, 102);
border-bottom: 1px solid black}
.tabMenu > li > ul > li {float: left; width: 16%; height: 25px}
.tabMenu > li > ul > li > a {display: block; margin: 0px; padding: 2px 3px;
font-size: 0.9em}
.tabMenu > li > ul > li > a:hover {color: blue}
자바 스크립트
var currentTab = null;
var maxZ = 1;
window.onload = setTabs;
function setTabs(){
var menuTabs = new Array();
var allElems = document.getElementsByTagName("*");
for(var i = 0; i < allElems.length; i++){
if(allElems[i].className == "tab") menuTabs.push(allElems[i]);
}
for(var i = 0; i < menuTabs.length; i++){
menuTabs[i].onclick = showTab;
}
currentTab = menuTabs[0];
}
function showTab(){
var tabList = document.currentTab.ul;
currentTab.style.bgcolor = "white";
currentTab.style.color = "rgb(221,21,255)";
maxZ++;
tabList.style.zIndex = maxZ;
}
이렇게하면 필요 이상으로 복잡해 보입니다. 당신은 또한 순수한 CSS에 드롭 다운을 할 수 있습니다. http://www.htmldog.com/articles/suckerfish/dropdowns/ –
에서 Chris와 동의하는 경향이 있습니다. 때로는 약간의 j가 메뉴를 더 잘 만들 수 있지만 CSS는 가능한 한 많이 사용해야합니다. 최소한 탭과 메뉴의 색상과 표시 속성을 설정하는 "selected"클래스를 만들 수 있습니다. – Bubbles