v1.0-230926 #27
@@ -11,9 +11,11 @@ const Home: React.FC = () => {
|
|||||||
navbarHiddenState: { navbarHidden, setNavbarHidden }
|
navbarHiddenState: { navbarHidden, setNavbarHidden }
|
||||||
} = useContext(MainFrameworkContext)
|
} = useContext(MainFrameworkContext)
|
||||||
const fitFullScreenRef = useRef<HTMLDivElement>(null)
|
const fitFullScreenRef = useRef<HTMLDivElement>(null)
|
||||||
|
const pathname = useLocation().pathname
|
||||||
|
|
||||||
const [slogan, setSlogan] = useState('')
|
const [slogan, setSlogan] = useState('')
|
||||||
const [sloganType, setSloganType] = useState(true)
|
const [sloganType, setSloganType] = useState(true)
|
||||||
|
|
||||||
const typeText = '/* 因为热爱 所以折腾 */'
|
const typeText = '/* 因为热爱 所以折腾 */'
|
||||||
if (sloganType) {
|
if (sloganType) {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
@@ -33,36 +35,42 @@ const Home: React.FC = () => {
|
|||||||
}, 50)
|
}, 50)
|
||||||
}
|
}
|
||||||
|
|
||||||
const handleScrollDown = () => {
|
const hideScrollbarDOM = hideScrollbarRef.current
|
||||||
hideScrollbarRef.current?.scrollY(fitFullScreenRef.current?.offsetHeight ?? 0)
|
const scrollListener = useCallback(() => {
|
||||||
}
|
if (
|
||||||
|
hideScrollbarDOM &&
|
||||||
useEffect(() => {
|
fitFullScreenRef.current &&
|
||||||
const hideScrollbarDOM = hideScrollbarRef.current
|
hideScrollbarDOM.getY() < fitFullScreenRef.current?.offsetHeight
|
||||||
const scrollListener = () => {
|
) {
|
||||||
if (
|
if (!navbarHidden) {
|
||||||
hideScrollbarDOM &&
|
setNavbarHidden(true)
|
||||||
fitFullScreenRef.current &&
|
}
|
||||||
hideScrollbarDOM.getY() < fitFullScreenRef.current?.offsetHeight
|
} else {
|
||||||
) {
|
if (navbarHidden) {
|
||||||
if (!navbarHidden) {
|
setNavbarHidden(false)
|
||||||
setNavbarHidden(true)
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (navbarHidden) {
|
|
||||||
setNavbarHidden(false)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}, [hideScrollbarDOM, navbarHidden, setNavbarHidden])
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
hideScrollbarDOM?.removeEventListener('scroll', scrollListener)
|
||||||
hideScrollbarDOM?.addEventListener('scroll', scrollListener)
|
hideScrollbarDOM?.addEventListener('scroll', scrollListener)
|
||||||
return () => {
|
return () => {
|
||||||
hideScrollbarDOM?.removeEventListener('scroll', scrollListener)
|
hideScrollbarDOM?.removeEventListener('scroll', scrollListener)
|
||||||
}
|
}
|
||||||
}, [hideScrollbarRef, navbarHidden, setNavbarHidden])
|
}, [hideScrollbarDOM, scrollListener])
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
scrollListener()
|
||||||
|
}, [pathname, scrollListener])
|
||||||
|
|
||||||
|
const handleScrollDown = () => {
|
||||||
|
hideScrollbarRef.current?.scrollY(fitFullScreenRef.current?.offsetHeight ?? 0)
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<FitFullScreen zIndex={100} backgroundColor={'#FBFBFB'} ref={fitFullScreenRef}>
|
<FitFullScreen backgroundColor={'#FBFBFB'} ref={fitFullScreenRef}>
|
||||||
<FitCenter>
|
<FitCenter>
|
||||||
<div className={'center-box'}>
|
<div className={'center-box'}>
|
||||||
<div className={'big-logo'}>FatWeb</div>
|
<div className={'big-logo'}>FatWeb</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user