diff --git a/new_theme/static/css/dist/styles.css b/new_theme/static/css/dist/styles.css index 18e13cc..f00dca4 100644 --- a/new_theme/static/css/dist/styles.css +++ b/new_theme/static/css/dist/styles.css @@ -1279,6 +1279,10 @@ video { --tw-ring-opacity: 0.5; } +.group:hover .group-hover\:block { + display: block; +} + @media (min-width: 640px) { .sm\:inline { display: inline; diff --git a/new_theme/static/css/styles.css b/new_theme/static/css/styles.css new file mode 100644 index 0000000..dca0a5f --- /dev/null +++ b/new_theme/static/css/styles.css @@ -0,0 +1,25 @@ +/* 添加到文件末尾 */ +.group:hover .group-hover\:block { + display: block; +} + +/* 添加新的样式 */ +#more-menu-dropdown { + display: none; +} + +#more-menu-dropdown.show { + display: block; +} + +.hidden { + display: none; +} + +#language-options.hidden { + display: none; +} + +#language-options { + display: block; +} diff --git a/new_theme/static/js/navbar.js b/new_theme/static/js/navbar.js new file mode 100644 index 0000000..c3d8fcf --- /dev/null +++ b/new_theme/static/js/navbar.js @@ -0,0 +1,61 @@ +console.log('navbar.js is being executed'); + +document.addEventListener('DOMContentLoaded', function() { + console.log('DOMContentLoaded event fired in navbar.js'); + + const moreMenuButton = document.getElementById('more-menu-button'); + const moreMenuDropdown = document.getElementById('more-menu-dropdown'); + const languageSelectorButton = document.getElementById('language-selector-button'); + const languageOptions = document.getElementById('language-options'); + + console.log('moreMenuButton:', moreMenuButton); + console.log('moreMenuDropdown:', moreMenuDropdown); + console.log('languageSelectorButton:', languageSelectorButton); + console.log('languageOptions:', languageOptions); + + function toggleDropdown(button, dropdown) { + button.addEventListener('click', function(e) { + e.preventDefault(); + e.stopPropagation(); + dropdown.classList.toggle('hidden'); + }); + } + + if (moreMenuButton && moreMenuDropdown) { + toggleDropdown(moreMenuButton, moreMenuDropdown); + } else { + console.error('More menu button or dropdown not found'); + } + + if (languageSelectorButton && languageOptions) { + toggleDropdown(languageSelectorButton, languageOptions); + } else { + console.error('Language selector button or options not found'); + } + + // 点击页面其他地方时关闭下拉菜单 + document.addEventListener('click', function(e) { + if (moreMenuDropdown && !moreMenuButton.contains(e.target) && !moreMenuDropdown.contains(e.target)) { + moreMenuDropdown.classList.add('hidden'); + } + if (languageOptions && !languageSelectorButton.contains(e.target) && !languageOptions.contains(e.target)) { + languageOptions.classList.add('hidden'); + } + }); + + // 处理语言选择 + const languageForm = document.getElementById('language-form'); + console.log('languageForm:', languageForm); + if (languageForm) { + const languageButtons = languageForm.querySelectorAll('button[name="language"]'); + console.log('languageButtons:', languageButtons); + languageButtons.forEach(button => { + button.addEventListener('click', function() { + console.log('Language changed'); + languageForm.submit(); + }); + }); + } else { + console.error('Language form not found'); + } +}); diff --git a/templates/base.html b/templates/base.html index 304a724..399ae61 100644 --- a/templates/base.html +++ b/templates/base.html @@ -55,27 +55,37 @@