I'm trying to create a simple show submenu with simple slideup or slidedown animation on hover using jquery.
It works fine when i have #menu1 and #menu2. But there is repetition in code.
How can I get sub1 and sub2 to slide up and down without repeating code?
I also want to display sub1 and sub2 in orange and the dropdown list in blue. However, now all are getting displayed in blue.
thank you.
My code:
<style type="text/css">
ul{
list-style-type:none;
margin:0;
padding:0;
background-color:#FF9900;
}
li {float:left;
display:block;
width:120px;
text-align:center;
padding:4px;
color:#FFFFFF;
background-color:#33CCFF;}
</style>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#menu1").hover(
function(){//onmouseover
$("#menu1 ul").slideDown();
},
function(){//onmouseout
$("#menu1 ul").slideUp();
});
$("#menu2").hover(
function(){//onmouseover
$("#menu2 ul").slideDown();
},
function(){//onmouseout
$("#menu2 ul").slideUp();
});
});
</script>
</head>
<body>
<ul id="menu">
<li id="menu1">Sub 1
<ul>
<li>test 1</li>
<li>test 2</li>
<li>test 3</li>
<li>test 4</li>
</ul>
</li>
<li id="menu2">Sub 2
<ul>
<li>test 1</li>
<li>test 2</li>
<li>test 3</li>
<li>test 4</li>
</ul>
</li>
</ul>
</body>
</html>
$("#menu1,#menu2").hover(
function(){//onmouseover
$(this).children("ul").slideDown();
},
function(){//onmouseout
$(this).children("ul").slideUp();
});