JQuery implements a scalable cascading menu instance code
- 2020-03-29 23:59:33
- OfStack
Doing a cascading menu might be daunting with pure JavaScript code instead of a framework, but with a framework, it's easy, and that's the benefit of a framework, which makes development much more efficient, more reliable, and easier to maintain. The general steps for implementing cascading menus using jQuery are as follows:
The & # 8226; 1. Use < first; Ul> And < Li> Create a cascading menu
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>itcast.cn the JQuery Example application: pop-up menu </title>
<link type="text/css" rel="stylesheet" href="css/menu.css" mce_href="css/menu.css" />
<mce:script type="text/javascript" src="jslib/jquery.js" mce_src="jslib/jquery.js"></mce:script>
<mce:script type="text/javascript" src="jslib/jquerymenu.js" mce_src="jslib/jquerymenu.js"></mce:script>
</head>
<body>
<ul>
<a href="#" mce_href="#"> I am a menu 1</a>
<li><a href="#" mce_href="#"> I'm submenu 1</a></li>
<li><a href="#" mce_href="#"> I'm submenu 2</a></li>
</ul>
<ul>
<a href="#" mce_href="#"> I am a menu 2</a>
<li><a href="#" mce_href="#"> I'm submenu 3</a></li>
<li><a href="#" mce_href="#"> I'm submenu 4</a></li>
</ul>
</body>
</html>
The & # 8226; 2. Write JavaScript code to control the contraction of cascading menus
//When you need to click the button of the main menu, the corresponding submenu can be displayed, and click the submenu again to hide
//You need to write code to add an onclick event to all the main menus when the page loads
//Ensure that submenus can be shown or hidden when the main menu is clicked
//Method to execute when the registration page loads
$(document).ready(function() {
//Here you need to find all the main menus first
//Then register click events for all main menus
//Find the node in ul
var as = $("ul > a");
as.click(function() {
//You need to find the li in the current ul and have the li display
//Gets the currently clicked a node
var aNode = $(this);
//Find all li sibling byte points of the current a node
var lis = aNode.nextAll("li");
//Let child nodes show or hide
lis.toggle("show");
});
});
The & # 8226; Create a CSS file to control how the label appears
li {
list-style: none;
margin-left: 18px;
display: none;
}
a{
text-decoration: none;
}
Convenience of jQuery:
1. When looking for the clicked menu, only one $(this) is needed
2. The display and hiding of nodes can be done with only one statement: toggle(), and all nodes can be realized on the array with this function.
3. Find all certain tags under a certain tag: $("ul > A ")