轮播(2)

import React,{Component} from 'react'
import './Workflow.css'
export default class Workflow extends Component{

    constructor(){
        super()
        this.state={
            index:0  
        }
    }
    render(){
        return(
        <div className="outer">
        {/* <ul className="imgList" style={{left:-520*this.state.index+'px'}} > */}
        
        <ul className="imgList" style={this.changeStyle()} >
            <li><img src={require('./img/1.jpg')} /></li>
            <li><img src={require('./img/2.jpg')}/></li>
            <li><img src={require('./img/3.jpg')}/></li>
            <li><img src={require('./img/4.jpg')}/></li>
            <li><img src={require('./img/5.jpg')}/></li>
            <li><img src={require('./img/1.jpg')}/></li>
        </ul>
        <div className="navDiv">
            <span></span>
            <span></span>
            <span></span>
            <span></span>
            <span></span>
        </div>
    </div>
        )
    }

    // componentDidMount(){
    //     setInterval(()=>{
    //         if(this.state.index==5){
    //             this.setState({
    //                 index:-1
    //             })
    //         }
    //         this.setState({
    //             index:this.state.index+1
    //         })
    //     },2000)  
    // }

    changeStyle(){
        // return  {left:-520+'px'}
        return {display:this.state.index==index? 'block': 'none'}
        setInterval(()=>{
            if(this.state.index==5){
                this.setState({
                    index:-1
                })
            }
            this.setState({
                index:this.state.index+1
            })
        },2000)  
        
    }



}


要实现2秒轮播轮播图,可以通过以下步骤实现: 1. 设置轮播图的容器和图片容器的宽度和高度,以及图片的定位方式为绝对定位。 2. 在CSS中设置图片容器的位置为0,0,让第一张图片显示在容器中。 3. 使用JavaScript编写轮播函数,设置一个定时器,每隔两秒钟切换图片容器的位置,使下一张图片显示在容器中。 4. 在切换图片时,可以使用CSS过渡效果,让图片显示过程更加平滑。 以下是一个简单的示例代码: HTML代码: ``` <div class="slider-container"> <div class="slider-images"> <img src="image1.jpg"> <img src="image2.jpg"> <img src="image3.jpg"> </div> </div> ``` CSS代码: ``` .slider-container { width: 800px; height: 400px; position: relative; } .slider-images { width: 2400px; height: 400px; position: absolute; top: 0; left: 0; transition: left 0.5s ease-in-out; } .slider-images img { width: 800px; height: 400px; float: left; } ``` JavaScript代码: ``` var slideIndex = 1; showSlides(slideIndex); function showSlides(n) { var i; var slides = document.getElementsByClassName("slider-images")[0].getElementsByTagName("img"); if (n > slides.length) {slideIndex = 1} if (n < 1) {slideIndex = slides.length} for (i = 0; i < slides.length; i++) { slides[i].style.display = "none"; } slides[slideIndex-1].style.display = "block"; setTimeout(function(){ slideIndex++; showSlides(slideIndex); }, 2000); } ``` 上述代码中,使用了一个变量slideIndex来表示当前显示的图片序号,showSlides函数用于切换图片。在切换图片时,使用了setTimeout函数来实现2秒钟切换一次图片。同时,在CSS中使用了过渡效果,让图片切换更加平滑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值