|
@@ -311,13 +311,47 @@ function setupSidebarToggles() {
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
- toggleLeft.onclick = () => {
|
|
|
|
|
|
|
+ toggleLeft.onclick = (e) => {
|
|
|
|
|
+ e.stopPropagation();
|
|
|
|
|
+
|
|
|
|
|
+ // 如果右侧栏展开,先隐藏它
|
|
|
|
|
+ if (!DOM.rightSidebar.classList.contains('collapsed')) {
|
|
|
|
|
+ DOM.rightSidebar.classList.add('collapsed');
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
DOM.leftSidebar.classList.toggle('collapsed');
|
|
DOM.leftSidebar.classList.toggle('collapsed');
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
- toggleRight.onclick = () => {
|
|
|
|
|
|
|
+ toggleRight.onclick = (e) => {
|
|
|
|
|
+ e.stopPropagation();
|
|
|
|
|
+
|
|
|
|
|
+ // 如果左侧栏展开,先隐藏它
|
|
|
|
|
+ if (!DOM.leftSidebar.classList.contains('collapsed')) {
|
|
|
|
|
+ DOM.leftSidebar.classList.add('collapsed');
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
DOM.rightSidebar.classList.toggle('collapsed');
|
|
DOM.rightSidebar.classList.toggle('collapsed');
|
|
|
};
|
|
};
|
|
|
|
|
+
|
|
|
|
|
+ // 点击侧边栏外部时隐藏所有已展开的侧边栏(仅在移动端和平板)
|
|
|
|
|
+ document.addEventListener('click', (e) => {
|
|
|
|
|
+ // 仅在移动端和平板上启用此功能
|
|
|
|
|
+ if (window.innerWidth > 1024) return;
|
|
|
|
|
+
|
|
|
|
|
+ const isClickInsideLeftSidebar = DOM.leftSidebar.contains(e.target);
|
|
|
|
|
+ const isClickInsideRightSidebar = DOM.rightSidebar.contains(e.target);
|
|
|
|
|
+ const isToggleButton = e.target.closest('#toggle-left') || e.target.closest('#toggle-right');
|
|
|
|
|
+
|
|
|
|
|
+ // 如果点击的不是侧边栏内部,也不是切换按钮,则隐藏所有展开的侧边栏
|
|
|
|
|
+ if (!isClickInsideLeftSidebar && !isClickInsideRightSidebar && !isToggleButton) {
|
|
|
|
|
+ if (!DOM.leftSidebar.classList.contains('collapsed')) {
|
|
|
|
|
+ DOM.leftSidebar.classList.add('collapsed');
|
|
|
|
|
+ }
|
|
|
|
|
+ if (!DOM.rightSidebar.classList.contains('collapsed')) {
|
|
|
|
|
+ DOM.rightSidebar.classList.add('collapsed');
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 搜索功能
|
|
// 搜索功能
|