navbar.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. "use strict";
  2. const updateNavBar = () => {
  3. if ($(document).scrollTop() > 40) {
  4. $('#top-navbar').removeClass('initial-navbar');
  5. $('#top-navbar').addClass('final-navbar shadow');
  6. $('#navbar-toggler').removeClass('navbar-dark');
  7. $('#navbar-toggler').addClass('navbar-light');
  8. // get the main logo from hidden img tag
  9. let mainLogo = document.getElementById("main-logo")
  10. if (mainLogo !== null) {
  11. let logoURL = mainLogo.getAttribute("src");
  12. $('#logo').attr("src", logoURL);
  13. }
  14. } else {
  15. $('#top-navbar').removeClass('final-navbar shadow');
  16. $('#top-navbar').addClass('initial-navbar');
  17. $('#navbar-toggler').removeClass('navbar-light');
  18. $('#navbar-toggler').addClass('navbar-dark');
  19. // get the inverted logo from hidden img tag
  20. let invertedLogo = document.getElementById("inverted-logo")
  21. if (invertedLogo !== null) {
  22. let logoURL = invertedLogo.getAttribute("src");
  23. $('#logo').attr("src", logoURL);
  24. }
  25. }
  26. };
  27. (function ($) {
  28. jQuery(document).ready(function () {
  29. // change navbar style on scroll
  30. // ==================================================
  31. // When the user scrolls down 80px from the top of the document, resize the navbar's padding and the logo's font size
  32. // $.onscroll = function() {scrollFunction()};
  33. $(document).scroll(function () {
  34. updateNavBar();
  35. });
  36. // Creates a click handler to collapse the navigation when
  37. // anchors in the mobile nav pop up are clicked
  38. var navMain = $(".navbar-collapse");
  39. if (navMain) {
  40. navMain.on("click", "a", null, function (e) {
  41. $('.navbar-collapse').collapse('hide');
  42. });
  43. }
  44. updateNavBar();
  45. });
  46. })(jQuery);