问题描述
我为一家医院创建了一个登陆页面,我制作了一个标题标签,并使用 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 (将#修改为@)