Remove useless if in js example

If the length is 0, then the forEach call does nothing anyway

Could we remove the slice part as well ? If IE support is required, can’t we just use Array.prototype.forEach ? Can’t we just remove IE support all together to promote clean and up to date code ? Polyfills and code transpilation are here to help support IE
This commit is contained in:
Jean Lecordier 2022-02-25 00:10:38 +01:00 committed by Jeremy Thomas
parent da784b2071
commit 895b77b3a9

View File

@ -565,24 +565,20 @@ document.addEventListener('DOMContentLoaded', () => {
// Get all "navbar-burger" elements // Get all "navbar-burger" elements
const $navbarBurgers = Array.prototype.slice.call(document.querySelectorAll('.navbar-burger'), 0); const $navbarBurgers = Array.prototype.slice.call(document.querySelectorAll('.navbar-burger'), 0);
// Check if there are any navbar burgers // Add a click event on each of them
if ($navbarBurgers.length > 0) { $navbarBurgers.forEach( el => {
el.addEventListener('click', () => {
// Add a click event on each of them // Get the target from the "data-target" attribute
$navbarBurgers.forEach( el => { const target = el.dataset.target;
el.addEventListener('click', () => { const $target = document.getElementById(target);
// Get the target from the "data-target" attribute // Toggle the "is-active" class on both the "navbar-burger" and the "navbar-menu"
const target = el.dataset.target; el.classList.toggle('is-active');
const $target = document.getElementById(target); $target.classList.toggle('is-active');
// Toggle the "is-active" class on both the "navbar-burger" and the "navbar-menu"
el.classList.toggle('is-active');
$target.classList.toggle('is-active');
});
}); });
} });
}); });
{% endcapture %} {% endcapture %}