Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/mislz28/public_html/wp-content/themes/css-faq-v2/timeweather/timeweather.php on line 19
  • Tutorials
25 May 2008

Presenting the SuckerTree Vertical Menu (v1.1)

Looking for multilevel CSS based menu? Well, you’ve got to look no further. Presenting the SuckerTree Vertical Menu from Dynamic Drive CSS. This menu is a lot better than the previous one because it makes use of CSS and Javascript plus automatic adoption to the HTML code in a per case basis. It is capable of supporting as much sublevels you want without the hassle that is usually associated with it.

The best thing about this SuckerTree vertical menu is that it has highly adoptable Javascript that practically crawls the inside of any list menu and gives the appropriate hide or show behavior to them. That’s pretty cool right?

Here’s how it looks like:
jpg

Here’s the CSS code:
<style type=”text/css”>
.suckerdiv ul{
margin: 0;
padding: 0;
list-style-type: none;
width: 160px; /* Width of Menu Items */
border-bottom: 1px solid #ccc;
}
.suckerdiv ul li{
position: relative;
}
/*Sub level menu items */
.suckerdiv ul li ul{
position: absolute;
width: 170px; /*sub menu width*/
top: 0;
visibility: hidden;
}
/* Sub level menu links style */
.suckerdiv ul li a{
display: block;
overflow: auto; /*force hasLayout in IE7 */
color: black;
text-decoration: none;
background: #fff;
padding: 1px 5px;
border: 1px solid #ccc;
border-bottom: 0;
}
.suckerdiv ul li a:visited{
color: black;
}
.suckerdiv ul li a:hover{
background-color: yellow;
}
.suckerdiv .subfolderstyle{
background: url(media/arrow-list.gif) no-repeat center right;
}
/* Holly Hack for IE \*/
* html .suckerdiv ul li { float: left; height: 1%; }
* html .suckerdiv ul li a { height: 1%; }
/* End */
</style>
<script type=”text/javascript”>
var menuids=["suckertree1"] //Enter id(s) of SuckerTree UL menus, separated by commas
function buildsubmenus(){
for (var i=0; i var ultags=document.getElementById(menuids[i]).getElementsByTagName("ul")
for (var t=0; t ultags[t].parentNode.getElementsByTagName("a")[0].className="subfolderstyle"
if (ultags[t].parentNode.parentNode.id==menuids[i]) //if this is a first level submenu
ultags[t].style.left=ultags[t].parentNode.offsetWidth+"px" //dynamically position first level submenus to be width of main menu item
else //else if this is a sub level submenu (ul)
ultags[t].style.left=ultags[t-1].getElementsByTagName("a")[0].offsetWidth+"px" //position menu to the right of menu item that activated it
ultags[t].parentNode.onmouseover=function(){
this.getElementsByTagName("ul")[0].style.display="block"
}
ultags[t].parentNode.onmouseout=function(){
this.getElementsByTagName("ul")[0].style.display="none"
}
}
for (var t=ultags.length-1; t>-1; t–){ //loop through all sub menus again, and use “display:none” to hide menus (to prevent possible page scrollbars
ultags[t].style.visibility=”visible”
ultags[t].style.display=”none”
}
}
}
if (window.addEventListener)
window.addEventListener(”load”, buildsubmenus, false)
else if (window.attachEvent)
window.attachEvent(”onload”, buildsubmenus)
</script>

And here’s the HTML:
<div class=”suckerdiv”>
<ul id=”suckertree1″>
<li><a href=”#”>Item 1</a></li>
<li><a href=”#”>Item 2</a></li>
<li><a href=”#”>Folder 1</a>
<ul>
<li><a href=”#”>Sub Item 1.1</a></li>
<li><a href=”#”>Sub Item 1.2</a></li>
</ul>
</li>
<li><a href=”#”>Item 3</a></li>
<li><a href=”#”>Folder 2</a>
<ul>
<li><a href=”#”>Sub Item 2.1</a></li>
<li><a href=”#”>Folder 2.1</a>
<ul>
<li><a href=”#”>Sub Item 2.1.1</a></li>
<li><a href=”#”>Sub Item 2.1.2</a></li>
<li><a href=”#”>Sub Item 2.1.3</a></li>
<li><a href=”#”>Sub Item 2.1.4</a></li>
</ul>
</li>
</ul>
</li>
<li><a href=”#”>Item 4</a></li>
</ul>
</div>

Tags:

Esta entrada foi colocada em25 May 2008no10:11 PM e está arquivada em Tutorials. Pode acompanhar qualquer resposta a esta entrada através deRSS 2.0feed. Pode deixar uma resposta, ou usar ferramenta trackback a partir do seu site.

Deixar uma resposta

Name (*)
Mail (will not be published) (*)
URI
Comentar