【发布时间】:2019-08-25 19:47:20
【问题描述】:
我每 3 秒更改一个 div 的类名(状态更改,使用 setInterval)。 每个类都有不同的背景图像。
我想在背景图像发生变化时淡入淡出,使用过渡 css。我看到了一些更简单的例子,但是我有两个以上的元素要改变/改变状态改变图片。
我该怎么做?
我将代码上传到:https://stackblitz.com/edit/react-ubxffz 但是我无法在此页面上上传图像,因此暂时将其替换为此页面中的背景颜色。
这是图片幻灯片组件。
const imgUrls = [
1,2,3
];
class ImageSlide extends Component {
render() {
const { url } = this.props;
const Text=...
return (
<div>
<div className={`pic${url}`}>
<p className="p1_1">{Text.p1_1}</p>
</div>
</div>
);
}
这是App组件,调用ImageSlide。
class App extends Component {
constructor (props) {
super(props);
currentImageIndex: 0,
};
}
// ...
componentDidMount() {
this.interval = setInterval(() => {
this.nextSlide(); //this function change the index state.
}, 3000);
}
componentWillUnmount() {
clearInterval(this.interval);
}
// ...
<ImageSlide url={imgUrls[this.state.currentImageIndex]} />
这是每个类的css,设置背景图片。
.pic1 {
background-image: url('images/img_01.png');
}
.pic2 {
background-image: url('images/img_02.png');
}
.pic3 {
background-image: url('images/img_03.png');
}
【问题讨论】:
-
你能把代码贴在这里 fork 并告诉我们链接:stackblitz.com/edit/react-5zsqnt?file=index.js감사합니다!
-
谢谢。我上传到:stackblitz.com/edit/react-ubxffz。但我无法在此页面上传图片
标签: css reactjs ecmascript-6 transition