修改
This commit is contained in:
parent
e0261a117a
commit
a69c9a5445
@ -112,7 +112,7 @@
|
||||
|
||||
function initLanguageMenu() {
|
||||
document.addEventListener('click', function (event) {
|
||||
var toggle = event.target.closest('[data-language-toggle]');
|
||||
var toggle = closest(event.target, '[data-language-toggle]');
|
||||
var menu = document.querySelector('[data-language-menu]');
|
||||
if (toggle && menu) {
|
||||
var expanded = toggle.getAttribute('aria-expanded') === 'true';
|
||||
@ -123,7 +123,7 @@
|
||||
menu.hidden = expanded;
|
||||
return;
|
||||
}
|
||||
var option = event.target.closest('[data-lang-option]');
|
||||
var option = closest(event.target, '[data-lang-option]');
|
||||
if (option) {
|
||||
if (menu) menu.hidden = true;
|
||||
var button = document.querySelector('[data-language-toggle]');
|
||||
@ -131,7 +131,7 @@
|
||||
load(option.getAttribute('data-lang-option'));
|
||||
return;
|
||||
}
|
||||
if (menu && !event.target.closest('.language-switcher')) {
|
||||
if (menu && !closest(event.target, '.language-switcher')) {
|
||||
menu.hidden = true;
|
||||
var languageButton = document.querySelector(
|
||||
'[data-language-toggle]'
|
||||
@ -142,6 +142,14 @@
|
||||
});
|
||||
}
|
||||
|
||||
function closest(node, selector) {
|
||||
while (node && node !== document) {
|
||||
if (node.matches && node.matches(selector)) return node;
|
||||
node = node.parentNode;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
window.HyAppI18n = {
|
||||
load: load,
|
||||
apply: apply,
|
||||
|
||||
@ -289,14 +289,14 @@ a {
|
||||
}
|
||||
|
||||
.language-menu {
|
||||
position: absolute;
|
||||
z-index: 4;
|
||||
top: calc(100% + 7px);
|
||||
right: 0;
|
||||
display: grid;
|
||||
gap: 2px;
|
||||
min-width: 58px;
|
||||
padding: 5px;
|
||||
position: absolute;
|
||||
z-index: 20;
|
||||
top: calc(100% + 7px);
|
||||
right: 0;
|
||||
display: grid;
|
||||
gap: 2px;
|
||||
min-width: 72px;
|
||||
padding: 5px;
|
||||
border: 1px solid rgba(35, 40, 46, 0.1);
|
||||
border-radius: 8px;
|
||||
background: rgba(255, 255, 255, 0.96);
|
||||
@ -304,11 +304,12 @@ a {
|
||||
}
|
||||
|
||||
.language-menu button {
|
||||
min-height: 28px;
|
||||
border-radius: 6px;
|
||||
color: var(--hy-theme-text, #282333);
|
||||
font-size: 12px;
|
||||
font-weight: 900;
|
||||
min-height: 34px;
|
||||
border-radius: 6px;
|
||||
color: var(--hy-theme-text, #282333);
|
||||
font-size: 12px;
|
||||
font-weight: 900;
|
||||
touch-action: manipulation;
|
||||
}
|
||||
|
||||
.language-menu button.is-active {
|
||||
Loading…
x
Reference in New Issue
Block a user