nih-gov/cit.nih.gov/themes/custom/customer_portal_theme/js/barrio.js?v=10.2.7
2025-02-26 17:28:32 -05:00

69 lines
1.7 KiB
Groff

/**
* @file
* Global utilities.
*
*/
(function (Drupal) {
'use strict';
Drupal.behaviors.bootstrap_barrio = {
attach: function (context, settings) {
var position = window.scrollY;
window.addEventListener('scroll', function() {
if (window.scrollY > 50) {
document.querySelector('body').classList.add("scrolled");
}
else {
document.querySelector('body').classList.remove("scrolled");
}
var scroll = window.scrollY;
if (scroll > position) {
document.querySelector('body').classList.add("scrolldown");
document.querySelector('body').classList.remove("scrollup");
} else {
document.querySelector('body').classList.add("scrollup");
document.querySelector('body').classList.remove("scrolldown");
}
position = scroll;
});
document.addEventListener('click', function (event) {
// If the clicked element doesn't have the right selector, bail
if (!event.target.matches('.dropdown-item a.dropdown-toggle')) return;
// Don't follow the link
event.preventDefault();
toggle(event.target.next('ul'));
event.stopPropagation();
}, false);
// Toggle element visibility
var toggle = function (elem) {
// If the element is visible, hide it
if (window.getComputedStyle(elem).display === 'block') {
hide(elem);
return;
}
// Otherwise, show it
show(elem);
};
var show = function (elem) {
elem.style.display = 'block';
};
var hide = function (elem) {
elem.style.display = 'none';
};
}
};
})(Drupal);