hugo-theme-introduction/assets/js/index.js
Victoria Drake 8a9baff968 Linkify headings, use scroll-behavior
- Uses the scroll-behavior property to achieve smooth scrolling with
less JS
- Solves anchor link bugs
- Linkifies headings in posts so they can be easily hyperlinked to directly
2020-08-01 19:11:56 -04:00

35 lines
No EOL
1.2 KiB
JavaScript

// Nav burger animation
document.addEventListener('DOMContentLoaded', function () {
// Get all "navbar-burger" elements
var $navbarBurgers = Array.prototype.slice.call(document.querySelectorAll('.navbar-burger'), 0)
// Check if there are any navbar burgers
if ($navbarBurgers.length > 0) {
// Add a click event on each of them
$navbarBurgers.forEach(function ($el) {
$el.addEventListener('click', function () {
// Get the target from the "data-target" attribute
var target = $el.dataset.target
var $target = document.getElementById(target)
// Toggle the class on both the "navbar-burger" and the "navbar-menu"
$el.classList.toggle('is-active')
$target.classList.toggle('is-active')
})
})
}
})
// Modal closer
$('.card').click(function () {
$($(this).attr('data-target')).addClass('is-active')
$('html').addClass('modal-open')
})
$('.modal-close').click(function () {
$($(this).attr('data-target')).removeClass('is-active')
$('html').removeClass('modal-open')
})
$(document).keypress(function (e) {
if (e.which === 0) {
$('.modal.is-active').removeClass('is-active')
$('html').removeClass('modal-open')
}
})