Skip to content

Commit a4daf27

Browse files
committed
恢复 header的收缩效果
1 parent f354c40 commit a4daf27

1 file changed

Lines changed: 9 additions & 29 deletions

File tree

packages/pure/components/basic/Header.astro

Lines changed: 9 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -76,54 +76,34 @@ import { Icon } from '../user'
7676
</div>
7777
</header-component>
7878

79-
{/* Use inline to load icon quicker firstly */}
80-
<!-- <script is:inline>
81-
const toggleDarkModeElement = document.getElementById('toggleDarkMode')
82-
const initialTheme = localStorage.getItem('theme') || 'system'
83-
if (toggleDarkModeElement) {
84-
toggleDarkModeElement.dataset.theme = initialTheme
85-
document.documentElement.dataset.theme = initialTheme
86-
}
87-
</script>
8879
<script>
89-
import { setTheme, showToast } from '../../utils'
90-
9180
class Header extends HTMLElement {
9281
constructor() {
9382
super()
9483
}
9584

9685
connectedCallback() {
97-
// Header
86+
// Header scroll behavior - auto hide/show on scroll
9887
let preScrollY = window.scrollY
9988
this.classList.toggle('not-top', preScrollY > 20)
89+
10090
window.addEventListener('scroll', () => {
101-
this.classList.toggle('not-top', window.scrollY > 20)
102-
this.dataset.show = (window.scrollY < 350 || window.scrollY < preScrollY).toString()
103-
preScrollY = window.scrollY
91+
const currentScrollY = window.scrollY
92+
this.classList.toggle('not-top', currentScrollY > 20)
93+
// Show header when scrolling up or near top, hide when scrolling down
94+
this.dataset.show = (currentScrollY < 350 || currentScrollY < preScrollY).toString()
95+
preScrollY = currentScrollY
10496
})
10597

106-
// Dark Mode
107-
const darkModeBtn = this.querySelector('#toggleDarkMode') as HTMLElement
108-
if (darkModeBtn) {
109-
darkModeBtn.addEventListener('click', () => {
110-
const newTheme = setTheme(undefined, true)
111-
// Update both button and html root element
112-
darkModeBtn.dataset.theme = newTheme
113-
document.documentElement.dataset.theme = newTheme
114-
showToast({ message: `Set theme to ${newTheme}` })
115-
})
116-
}
117-
118-
// Menu
98+
// Menu toggle
11999
this.querySelector('#toggleMenu')?.addEventListener('click', () => {
120100
this.classList.toggle('expanded')
121101
})
122102
}
123103
}
124104

125105
customElements.define('header-component', Header)
126-
</script> -->
106+
</script>
127107

128108
<style>
129109
header-component {

0 commit comments

Comments
 (0)