MediaWiki:SupportPage.js: Difference between revisions
Jump to navigation
Jump to search
Content deleted Content added
No edit summary |
No edit summary |
||
Line 21: | Line 21: | ||
/* -- New language switcher code -- */ |
/* -- New language switcher code -- */ |
||
var languageSwitcherButton = document.querySelector('.language-switcher__button'), |
var languageSwitcherButton = document.querySelector('.language-switcher__button'), |
||
languageSwitcher = document.querySelector('.language-switcher__content'), |
|||
languageSwitcherBackdrop = document.querySelector(' |
languageSwitcherBackdrop = document.querySelector('[data-dropdown-backdrop]'); |
||
languageSwitcherButton. |
languageSwitcherButton.addEventListener('click', function() { |
||
if ( languageSwitcherButton.ariaExpanded === 'true' ) { |
if ( languageSwitcherButton.ariaExpanded === 'true' ) { |
||
hideLanguageSwitcher(); |
hideLanguageSwitcher(); |
||
} else { |
} else { |
||
showLanguageSwitcher(); |
showLanguageSwitcher(); |
||
checkScroll(); |
|||
} |
} |
||
}; |
}); |
||
languageSwitcherBackdrop. |
languageSwitcherBackdrop.addEventListener('click', hideLanguageSwitcher); |
||
function showLanguageSwitcher() { |
function showLanguageSwitcher() { |
||
languageSwitcherButton.ariaExpanded = 'true'; |
languageSwitcherButton.ariaExpanded = 'true'; |
||
languageSwitcher.hidden = false; |
|||
languageSwitcherBackdrop.dataset.dropdownBackdrop = 'active'; |
|||
} |
} |
||
function hideLanguageSwitcher() { |
function hideLanguageSwitcher() { |
||
languageSwitcherButton.ariaExpanded = 'false'; |
languageSwitcherButton.ariaExpanded = 'false'; |
||
languageSwitcher.hidden = true; |
|||
languageSwitcherBackdrop.dataset.dropdownBackdrop = 'inactive'; |
|||
} |
} |
||
function checkScroll() { |
|||
if ( languageSwitcher.offsetHeight + languageSwitcher.scrollTop >= languageSwitcher.scrollHeight ) { |
|||
languageSwitcher.classList.remove('scroll-shadow'); |
|||
} else { |
|||
languageSwitcher.classList.add('scroll-shadow'); |
|||
} |
|||
} |
|||
languageSwitcher.addEventListener('scroll', checkScroll); |
|||
/* -- End of new language switcher code -- */ |
/* -- End of new language switcher code -- */ |
||