No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

navbar.js 9.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  1. const headerhtml = `<nav class="navbar">
  2. <section class="navbar__left">
  3. <a href="#" class="brand">
  4. <img src="img/logo-dark.png" class="w-75" alt="">
  5. </a>
  6. <div class="burger" id="burger">
  7. <span class="burger-line"></span>
  8. <span class="burger-line"></span>
  9. <span class="burger-line"></span>
  10. </div>
  11. </section>
  12. <section class="navbar__center">
  13. <span class="overlay"></span>
  14. <div class="menu" id="menu">
  15. <div class="menu__header">
  16. <span class="menu__arrow"><i class="bx bx-chevron-left"></i></span>
  17. <span class="menu__title"></span>
  18. </div>
  19. <ul class="menu__inner mb-0">
  20. <li class="menu__item"><a href="index.html" class="menu__link">Home</a></li>
  21. <li class="menu__item"><a href="about-us.html" class="menu__link">About Us</a></li>
  22. <li class="menu__item menu__dropdown">
  23. <a href="#" class="menu__link">
  24. Solutions
  25. <i class="bx bx-chevron-right"></i>
  26. </a>
  27. <div class="submenu megamenu__text">
  28. <div class="submenu__inner">
  29. <h4 class="submenu__title">Supply Chain Solutions</h4>
  30. <ul class="submenu__list">
  31. <li><a href="dealer-automation.html">Dealer Automation</a></li>
  32. <li><a href="secondary-sales.html">Secodary Sales </a></li>
  33. <li><a href="e-governance.html">E-Governance </a></li>
  34. <li><a href="loyalty-solutions.html">Loyalty Solutions</a></li>
  35. <li><a href="block-chain-enabled.html">Block Chain Enabled</a></li>
  36. <li><a href="track-and-trace.html">Track and Trace </a></li>
  37. </ul>
  38. </div>
  39. <div class="submenu__inner">
  40. <h4 class="submenu__title">Process Automation</h4>
  41. <ul class="submenu__list">
  42. <li><a href="enterprises.html">Enterprises</a></li>
  43. <li><a href="govermnets.html">Governments</a></li>
  44. <li><a href="small-businesses.html">Small Businesses</a></li>
  45. </ul>
  46. </div>
  47. <div class="submenu__inner">
  48. <h4 class="submenu__title">VMS</h4>
  49. <ul class="submenu__list">
  50. <li><a href="integrated-video-solutions.html">Integrated Video Solutions</a></li>
  51. <li><a href="video-storage-solutions.html">Video Storage Solutions</a></li>
  52. <li><a href="central-command-center.html">Central Command Center</a></li>
  53. <li><a href="event-streaming.html">Event Streaming</a></li>
  54. <li><a href="video-analytics.html">Video Analytics</a></li>
  55. </ul>
  56. </div>
  57. </div>
  58. </li>
  59. <li class="menu__item menu__dropdown">
  60. <a href="#" class="menu__link">
  61. Products
  62. <i class="bx bx-chevron-right"></i>
  63. </a>
  64. <div class="submenu megamenu__normal">
  65. <ul class="submenu__list">
  66. <li><a href="cameras.html">Cameras</a></li>
  67. <li><a href="storage-systems.html">Storage Systems</a></li>
  68. <li><a href="ai-nvr.html">AI NVR (Coming Soon)</a></li>
  69. <li><a href="racks.html">Racks</a></li>
  70. </ul>
  71. </div>
  72. </li>
  73. <li class="menu__item menu__dropdown">
  74. <a href="#" class="menu__link">
  75. Services
  76. <i class="bx bx-chevron-right"></i>
  77. </a>
  78. <div class="submenu megamenu__text">
  79. <div class="submenu__inner">
  80. <ul class="submenu__list">
  81. <li><a href="iot-technologies.html">IoT Technologies</a></li>
  82. <li><a href="video-analytics.html">Video Analytics</a></li>
  83. <li><a href="rf=technlogy.html">RF Technology </a></li>
  84. </ul>
  85. </div>
  86. <div class="submenu__inner">
  87. <ul class="submenu__list">
  88. <li><a href="rooftop-solar.html">Rooftop Solar/Solar Pump</a></li>
  89. <li><a href="software-development">Software Development</a></li>
  90. <li><a href="home-automation.html">Home Automation</a></li>
  91. </ul>
  92. </div>
  93. <div class="submenu__inner">
  94. <ul class="submenu__list">
  95. <li><a href="it-telecommunications.html">IT & Telecommunication</a></li>
  96. <li><a href="smart-city.html">Smart Cities</a></li>
  97. <li><a href="e-mobility-services.html">E-Mobility Services</a></li>
  98. </ul>
  99. </div>
  100. </div>
  101. </li>
  102. <li class="menu__item"><a href="investors.html" class="menu__link">Investors</a></li>
  103. <li class="menu__item"><a href="resouces.html" class="menu__link">Resources</a></li>
  104. <li class="menu__item"><a href="contact-us.html" class="menu__link">Contact Us</a></li>
  105. </ul>
  106. </div>
  107. </section>
  108. <section class="navbar__right d-none">
  109. <button class="switch" id="switch">
  110. <span class="switch__light"><i class="bx bx-sun"></i></span>
  111. <span class="switch__dark"><i class="bx bx-moon"></i></span>
  112. </button>
  113. </section>
  114. </nav>`;
  115. $(function () {
  116. $('header').html(headerhtml);
  117. const menu = document.querySelector(".menu");
  118. const menuInner = menu.querySelector(".menu__inner");
  119. const menuArrow = menu.querySelector(".menu__arrow");
  120. const menuTitle = menu.querySelector(".menu__title");
  121. const burger = document.querySelector(".burger");
  122. const overlay = document.querySelector(".overlay");
  123. // Navbar Menu Toggle Function
  124. function toggleMenu() {
  125. menu.classList.toggle("is-active");
  126. overlay.classList.toggle("is-active");
  127. }
  128. // Show Mobile Submenu Function
  129. function showSubMenu(children) {
  130. subMenu = children.querySelector(".submenu");
  131. subMenu.classList.add("is-active");
  132. subMenu.style.animation = "slideLeft 0.35s ease forwards";
  133. const menuTitle = children.querySelector("i").parentNode.childNodes[0]
  134. .textContent;
  135. menu.querySelector(".menu__title").textContent = menuTitle;
  136. menu.querySelector(".menu__header").classList.add("is-active");
  137. }
  138. // Hide Mobile Submenu Function
  139. function hideSubMenu() {
  140. subMenu.style.animation = "slideRight 0.35s ease forwards";
  141. setTimeout(() => {
  142. subMenu.classList.remove("is-active");
  143. }, 300);
  144. menu.querySelector(".menu__title").textContent = "";
  145. menu.querySelector(".menu__header").classList.remove("is-active");
  146. }
  147. // Toggle Mobile Submenu Function
  148. function toggleSubMenu(e) {
  149. if (!menu.classList.contains("is-active")) {
  150. return;
  151. }
  152. if (e.target.closest(".menu__dropdown")) {
  153. const children = e.target.closest(".menu__dropdown");
  154. showSubMenu(children);
  155. }
  156. }
  157. // Fixed Navbar Menu on Window Resize
  158. window.addEventListener("resize", () => {
  159. if (window.innerWidth >= 768) {
  160. if (menu.classList.contains("is-active")) {
  161. toggleMenu();
  162. }
  163. }
  164. });
  165. // Dark and Light Mode with localStorage
  166. (function () {
  167. let darkMode = localStorage.getItem("darkMode");
  168. const darkSwitch = document.getElementById("switch");
  169. // Enable and Disable Darkmode
  170. const enableDarkMode = () => {
  171. document.body.classList.add("darkmode");
  172. localStorage.setItem("darkMode", "enabled");
  173. };
  174. const disableDarkMode = () => {
  175. document.body.classList.remove("darkmode");
  176. localStorage.setItem("darkMode", null);
  177. };
  178. // User Already Enable Darkmode
  179. if (darkMode === "enabled") {
  180. enableDarkMode();
  181. }
  182. // User Clicks the Darkmode Toggle
  183. darkSwitch.addEventListener("click", () => {
  184. darkMode = localStorage.getItem("darkMode");
  185. if (darkMode !== "enabled") {
  186. enableDarkMode();
  187. } else {
  188. disableDarkMode();
  189. }
  190. });
  191. })();
  192. // Initialize All Event Listeners
  193. burger.addEventListener("click", toggleMenu);
  194. overlay.addEventListener("click", toggleMenu);
  195. menuArrow.addEventListener("click", hideSubMenu);
  196. menuTitle.addEventListener("click", hideSubMenu);
  197. menuInner.addEventListener("click", toggleSubMenu);
  198. })