mirror of
https://github.com/alex-shpak/hugo-book.git
synced 2025-06-20 08:01:54 +00:00
feat: Add navbar submenu toggle and tracking
This commit is contained in:
parent
610fbee1b6
commit
354a4f038b
28
assets/navbar.js
Normal file
28
assets/navbar.js
Normal file
@ -0,0 +1,28 @@
|
||||
;(function () {
|
||||
var navbarItems = document.querySelectorAll('.dcl.navbar .dcl.navbar-menu .ui.menu > div.item')
|
||||
navbarItems.forEach((menuItem) => {
|
||||
menuItem.addEventListener('mouseenter', function (event) {
|
||||
var submenu = event.target.querySelector('.item.submenu')
|
||||
if (submenu) {
|
||||
submenu.classList.add('active')
|
||||
}
|
||||
})
|
||||
menuItem.addEventListener('mouseleave', function (event) {
|
||||
var submenu = event.target.querySelector('.item.submenu')
|
||||
if (submenu && submenu.classList.contains('active')) {
|
||||
submenu.classList.remove('active')
|
||||
}
|
||||
})
|
||||
menuItem.querySelectorAll('a.item').forEach((link) => {
|
||||
var parent = menuItem.querySelector('a.item')
|
||||
link.addEventListener('click', function (event) {
|
||||
if (window.analytics) {
|
||||
window.analytics.track('Clicked on navbar', {
|
||||
section: parent.textContent.toLowerCase(),
|
||||
submenu: parent.textContent !== event.target.textContent ? event.target.textContent.toLowerCase() : undefined,
|
||||
})
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
})()
|
@ -69,3 +69,10 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Restore menu position as soon as possible to avoid flickering -->
|
||||
{{ $script := resources.Get "navbar.js" | resources.Minify }} {{ with $script.Content }}
|
||||
<script>
|
||||
{{ . | safeJS }}
|
||||
</script>
|
||||
{{ end }}
|
||||
|
Loading…
Reference in New Issue
Block a user