Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

top-navigation.js 1.6KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. document.addEventListener('DOMContentLoaded', () => {
  2. handleTopbarAndSidebarHover();
  3. handleScroll();
  4. });
  5. const handleTopbarAndSidebarHover = () => {
  6. const topbarNav = document.querySelector('.fi-topbar > nav');
  7. const sidebarHeader = document.querySelector('.fi-sidebar-header');
  8. const addHoveredClass = () => {
  9. topbarNav.classList.add('topbar-hovered');
  10. if (sidebarHeader) {
  11. sidebarHeader.classList.add('topbar-hovered');
  12. }
  13. };
  14. const removeHoveredClass = () => {
  15. topbarNav.classList.remove('topbar-hovered');
  16. if (sidebarHeader) {
  17. sidebarHeader.classList.remove('topbar-hovered');
  18. }
  19. };
  20. topbarNav.addEventListener('mouseenter', addHoveredClass);
  21. topbarNav.addEventListener('mouseleave', removeHoveredClass);
  22. if (sidebarHeader) {
  23. sidebarHeader.addEventListener('mouseenter', addHoveredClass);
  24. sidebarHeader.addEventListener('mouseleave', removeHoveredClass);
  25. }
  26. };
  27. const handleScroll = () => {
  28. const topbarNav = document.querySelector('.fi-topbar > nav');
  29. const sidebarHeader = document.querySelector('.fi-sidebar-header');
  30. window.addEventListener('scroll', () => {
  31. if (window.scrollY > 0) {
  32. topbarNav.classList.add('topbar-scrolled');
  33. if (sidebarHeader) {
  34. sidebarHeader.classList.add('topbar-scrolled');
  35. }
  36. } else {
  37. topbarNav.classList.remove('topbar-scrolled');
  38. if (sidebarHeader) {
  39. sidebarHeader.classList.remove('topbar-scrolled');
  40. }
  41. }
  42. });
  43. };