如何解决如何在使用 setInterval() 方法更改组件背景的同时在 React 中添加过渡
我为一家医院创建了一个登陆页面,我制作了一个标题标签,并使用 setInterval 方法通过 useEffect 钩子每 6 秒更改一次背景图像。如何动画背景图像的过渡?
import Image from 'next/image'
import { useEffect,useState } from 'react'
export default function LandingPage() {
let i = 0;
const [imagepath,setimagePath] = useState("url('/slides/slide3.jpg')")
const slides = [
"url('/slides/slide1.jpg')","url('/slides/slide2.jpg')","url('/slides/slide3.jpg')"
]
const changeImage = () =>{
setimagePath(slides[i]);
console.log(i)
i++;
if (i > 2 ) i = 0 ;
}
useEffect(() => {
const interval = setInterval(() => {
changeImage();
},6000);
return () => clearInterval(interval);
},[]);
return (
<header style={{backgroundImage :`linear-gradient(rgba(0,0.7),rgba(0,0.7)),${imagepath}`,transition : 'backgroundImage ease-in 500ms'}}>
<nav className={styles.row}>
<div className={styles.logo}>
<Image
src='/logoGH.jpg'
alt="GH logo"
width='80'
height='80'
/>
</div>
<ul className={styles.main_nav}>
<li><a>Home</a></li>
<li><a>About Us</a></li>
<li><a>Departments</a></li>
<li><a>Our Doctors</a></li>
<li><a>Corporates and TPA</a></li>
<li><a>Contact Us</a></li>
</ul>
</nav>
</header>
)}```
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。