Sha256: 3318fd94a397a8141368f105d61e9ca1619b120a3aa7747c748ed97710a02db2

Contents?: true

Size: 693 Bytes

Versions: 25

Compression:

Stored size: 693 Bytes

Contents

const navList = document.querySelectorAll('.js-nav-item'); // local nav
const subNavList = document.querySelectorAll('.js-sub-nav-item'); // sub nav

const addActiveClass = li => li.classList.add('active');

function checkForMatchingNav(nodeList) {
  nodeList.forEach(li => {
    const linkPath = li.querySelector('a').getAttribute('href').replace(/.*(\/[^\/]+\/?)$/, `$1`);

    if (linkPath !== '/#contact' && window.location.pathname.includes(linkPath)) {
      addActiveClass(li);
    }
  });
}

function highlightNavItems() {
  checkForMatchingNav(navList);
  if (document.querySelector('.js-sub-nav-item')) {
    checkForMatchingNav(subNavList);
  }
}

export default highlightNavItems;

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
kcc-gem-theme-3.12.5 assets/js/src/highlightNavItems.js
kcc-gem-theme-3.12.4 assets/js/src/highlightNavItems.js
kcc-gem-theme-3.12.3 assets/js/src/highlightNavItems.js
kcc-gem-theme-3.12.2 assets/js/src/highlightNavItems.js
kcc-gem-theme-3.12.1 assets/js/src/highlightNavItems.js
kcc-gem-theme-3.12.0 assets/js/src/highlightNavItems.js
kcc-gem-theme-3.11.5 assets/js/src/highlightNavItems.js
kcc-gem-theme-3.11.4 assets/js/src/highlightNavItems.js
kcc-gem-theme-3.11.3 assets/js/src/highlightNavItems.js
kcc-gem-theme-3.11.1 assets/js/src/highlightNavItems.js
kcc-gem-theme-3.11.0 assets/js/src/highlightNavItems.js
kcc-gem-theme-3.10.7 assets/js/src/highlightNavItems.js
kcc-gem-theme-3.10.6 assets/js/src/highlightNavItems.js
kcc-gem-theme-3.10.5 assets/js/src/highlightNavItems.js
kcc-gem-theme-3.10.4 assets/js/src/highlightNavItems.js
kcc-gem-theme-3.10.3 assets/js/src/highlightNavItems.js
kcc-gem-theme-3.10.2 assets/js/src/highlightNavItems.js
kcc-gem-theme-3.10.1 assets/js/src/highlightNavItems.js
kcc-gem-theme-3.10.0 assets/js/src/highlightNavItems.js
kcc-gem-theme-3.9.4 assets/js/src/highlightNavItems.js