In this blog, I will demonstrate how to create Menu and Items in Expand and Collapse style using jQuery, CSS and HTML.

Create menu and list of items for each menu

Here is the basic HTML part.

  1. <body>
  2. <div class="container">
  3. <ul>
  4. <li class="dropdown cssState">
  5. Tamilnadu
  6. <ul>
  7. <li>Chennai</li>
  8. <li>Madurai</li>
  9. <li>Trichy</li>
  10. <li>Coimbatore </li>
  11. </ul>
  12. </li>
  13. <li class="dropdown cssState">
  14. Andhra
  15. <ul>
  16. <li>Chennai</li>
  17. <li>Madurai</li>
  18. <li>Trichy</li>
  19. <li>Coimbatore </li>
  20. </ul>
  21. </li>
  22. <li class="dropdown cssState">
  23. Kerala
  24. <ul>
  25. <li>Chennai</li>
  26. <li>Madurai</li>
  27. <li>Trichy</li>
  28. <li>Coimbatore </li>
  29. </ul>
  30. </li>
  31. <li class="dropdown cssState">
  32. Tamilnadu
  33. <ul>
  34. <li>Chennai</li>
  35. <li>Madurai</li>
  36. <li>Trichy</li>
  37. <li>Coimbatore </li>
  38. </ul>
  39. </li>
  40. <li class="dropdown cssState">
  41. Andhra
  42. <ul>
  43. <li>Chennai</li>
  44. <li>Madurai</li>
  45. <li>Trichy</li>
  46. <li>Coimbatore </li>
  47. </ul>
  48. </li>
  49. <li class="dropdown cssState">
  50. Kerala
  51. <ul>
  52. <li>Chennai</li>
  53. <li>Madurai</li>
  54. <li>Trichy</li>
  55. <li>Coimbatore </li>
  56. </ul>
  57. </li>
  58. </ul>
  59. </div>
  60. </body>

CSS style; which we need to use is for getting the menu and list output.

  1. <style>
  2. li.dropdown ul {
  3. display : none; /*To hide the items while loading the page */
  4. }
  5. .container {
  6. width:70%;
  7. float: left;
  8. }
  9. /* Main style part for the menu and items look and feel */
  10. .container .cssState {
  11. float: left;
  12. display:block;
  13. border-top-style: solid;
  14. border-top-width:1px;
  15. border-top-color:black;
  16. border-bottom-width:1px;
  17. border-bottom-color:grey;
  18. border-bottom-style:solid;
  19. width: 200px;
  20. border-right-style:solid;
  21. border-right-color:white;
  22. border-right-width:10px;
  23. padding: 2px;
  24. cursor: pointer;
  25. font-weight: bold;
  26. }
  27. </style>
  28. Here is the jQuery which does the gimmicks of toggling items.
  29. /* This is the place where the toggling of showing and hiding items happens*/
  30. <script src="https://code.jquery.com/jquery-1.11.1.min.js"></script>
  31. <script type="text/javascript">
  32. $(document).ready(function(){
  33. $('li.dropdown').click(function () {
  34. $('li.dropdown').not(this).find('ul').hide();
  35. $(this).find('ul').toggle();
  36. });
  37. });
  38. </script>

The output looks, as shown below.
Figure 1

Hope, it will be useful for those, who are looking to create menu, sub menu and items list view, using simple CSS, HTML and jQuery.