File tree Expand file tree Collapse file tree 2 files changed +17
-1
lines changed Expand file tree Collapse file tree 2 files changed +17
-1
lines changed Original file line number Diff line number Diff line change @@ -561,9 +561,15 @@ export default {
561
561
// 监听所有 offcanvas,避免同时打开多个导致浏览器崩溃
562
562
listenOffcanvas () {
563
563
const offcanvasElements = document .querySelectorAll (' .offcanvas' );
564
+ const navElements = document .getElementById (' navbarNavAltMarkup' );
565
+ const navElementsButton = document .querySelector (' .navbar-toggler' );
564
566
offcanvasElements .forEach ((element ) => {
565
567
const instance = Offcanvas .getOrCreateInstance (element); // 确保实例创建成功
566
568
element .addEventListener (' show.bs.offcanvas' , () => {
569
+ // 存在 Offcanvas 时关闭导航栏
570
+ navElements .classList .remove (' show' );
571
+ navElementsButton .setAttribute (' aria-expanded' , ' false' );
572
+ navElementsButton .classList .add (' collapsed' );
567
573
// 关闭所有其他的 offcanvas
568
574
offcanvasElements .forEach ((offcanvas ) => {
569
575
if (offcanvas !== element) {
Original file line number Diff line number Diff line change 43
43
44
44
</div >
45
45
<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" >
47
48
<span class =" navbar-toggler-icon bg-transparent " ></span >
48
49
</button >
49
50
<div class =" collapse navbar-collapse justify-content-end" id =" navbarNavAltMarkup" >
@@ -106,6 +107,15 @@ export default {
106
107
},
107
108
methods: {
108
109
110
+ closeAllOffCanvas () {
111
+ document .querySelectorAll (' .offcanvas' ).forEach ((offcanvas ) => {
112
+ const instance = Offcanvas .getInstance (offcanvas);
113
+ if (instance) {
114
+ instance .hide ();
115
+ }
116
+ });
117
+ },
118
+
109
119
// 打开偏好设置
110
120
OpenPreferences () {
111
121
var offcanvasElement = document .getElementById (' offcanvasPreferences' );
You can’t perform that action at this time.
0 commit comments