Skip to content

Commit 400b248

Browse files
committed
Improvements
1 parent 7b765a8 commit 400b248

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

src/App.vue

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -561,9 +561,15 @@ export default {
561561
// 监听所有 offcanvas,避免同时打开多个导致浏览器崩溃
562562
listenOffcanvas() {
563563
const offcanvasElements = document.querySelectorAll('.offcanvas');
564+
const navElements = document.getElementById('navbarNavAltMarkup');
565+
const navElementsButton = document.querySelector('.navbar-toggler');
564566
offcanvasElements.forEach((element) => {
565567
const instance = Offcanvas.getOrCreateInstance(element); // 确保实例创建成功
566568
element.addEventListener('show.bs.offcanvas', () => {
569+
// 存在 Offcanvas 时关闭导航栏
570+
navElements.classList.remove('show');
571+
navElementsButton.setAttribute('aria-expanded', 'false');
572+
navElementsButton.classList.add('collapsed');
567573
// 关闭所有其他的 offcanvas
568574
offcanvasElements.forEach((offcanvas) => {
569575
if (offcanvas !== element) {

src/components/nav.vue

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,8 @@
4343

4444
</div>
4545
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNavAltMarkup"
46-
aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation">
46+
aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation"
47+
@click="closeAllOffCanvas">
4748
<span class="navbar-toggler-icon bg-transparent "></span>
4849
</button>
4950
<div class="collapse navbar-collapse justify-content-end" id="navbarNavAltMarkup">
@@ -106,6 +107,15 @@ export default {
106107
},
107108
methods: {
108109
110+
closeAllOffCanvas() {
111+
document.querySelectorAll('.offcanvas').forEach((offcanvas) => {
112+
const instance = Offcanvas.getInstance(offcanvas);
113+
if (instance) {
114+
instance.hide();
115+
}
116+
});
117+
},
118+
109119
// 打开偏好设置
110120
OpenPreferences() {
111121
var offcanvasElement = document.getElementById('offcanvasPreferences');

0 commit comments

Comments
 (0)