【发布时间】:2021-10-12 10:43:33
【问题描述】:
我正在创建一个滑块,当我按下 prev 或 next 按钮时,图像应该以过渡效果进入。问题是过渡仅在页面首次加载时有效,而在第一次渲染后无效。我需要在每次点击时进行转换,并将转换应用于部分元素类。如果有人知道解决方案,请帮助我。
const SlideShowTop = (props) => {
const [selectedIndex, setSelectedIndex] = useState(0);
const previous = () => {
if (selectedIndex !== 0) {
setSelectedIndex((index) => index - 1);
}
if (selectedIndex === 0) {
setSelectedIndex(props.slides.length - 1);
}
};
const next = () => {
if (selectedIndex !== props.slides.length - 1) {
setSelectedIndex((index) => index + 1);
}
if (selectedIndex === props.slides.length - 1) {
setSelectedIndex(0);
}
};
const filteredSlide = props.slides.filter((data) => {
return data.index === selectedIndex;
});
const sliderList = filteredSlide.map((slideProp, index) => {
const getImg = require("../assets/" + slideProp.picture).default;
return (
<section className={classes.transitions}>
//to this section applying the transition
<li
className={`${[classes.banner]} `}
style={{
backgroundImage: `url(${getImg})`,
}}
>
<div className={classes.banner__contents}>
<h1 className={classes.banner__title}>
{props.slides[selectedIndex].title}
</h1>
<div className={classes["ty-seqHomeSlider-nav"]}>
<button
onClick={previous}
type="button"
class={classes["seq-prev"]}
>
<i
className="fa fa-angle-left"
style={{ color: "white" }}
aria-hidden="true"
></i>
</button>
<button onClick={next} type="button" class={classes["seq-next"]}>
<i
className="fa fa-angle-right"
style={{ color: "white" }}
aria-hidden="true"
></i>
</button>
</div>
<h1 className={classes.banner__description}>
{props.slides[selectedIndex].overview}
</h1>
</div>
<div className={classes.banner_fadeBottom}></div>
</li>
</section>
);
});
return (
<div>
<ul>{sliderList}</ul>
</div>
);
};
export default SlideShowTop;
【问题讨论】:
-
你能提供更多关于你定义的类的信息吗?
标签: javascript html css reactjs