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