React实现轮播效果


Posted in Javascript onAugust 25, 2020

本文实例为大家分享了React实现轮播,供大家参考,具体内容如下

思路

1、使用全局的state进行状态管理
2、设置全局下标,对当前的图片下表进行样式划分
3、定时循环人物便利改变全局下标 

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <style>
    ul{
      width: 100%;
      text-align: center;
      list-style-type: circle;
    }
    ul>li{
      width: 2%;
      float: left;
    }
    img{
      width: 100%;
    }
    </style>
  <title>轮播事件</title>
</head>
<body>
  <div id="root" style="max-width: 700px;margin: 0 auto;"></div>
</body>
 
<script src="./js/react.development.js"></script>
<script src="./js/react-dom.development.js"></script>
<script src="./js/babel.min.js"></script>
<script type="text/babel">
  window.onload=()=>{
    class Img extends React.Component{
      constructor(props) {
        super(props);
        this.state={
          listImg:[
            './img/banner1.jpg', 
            './img/banner2.jpg', 
            './img/banner3.jpg', 
            './img/banner4.jpg',
            './img/banner5.jpg',
          ],
          index:0
        }
      }
      //计时器执行
      indexChange(){
        if(this.state.index == this.state.listImg.length-1){
          this.setState({
            index:0
          })
        }else{
          // this.state.index++;
          this.setState({
            index:this.state.index+1
          })
          console.log(this.state.index);
        }
      }
      componentDidMount(){
        setInterval(()=>{
          this.indexChange();
        },2000)
      }
      render(){
        let {listImg,index} = this.state;
        let imgList=listImg.map((item,imgIndex)=>{
          return <img src={item} key={imgIndex} style={{'display':index == imgIndex ? 'block' : 'none'}} className='img'/>  
        })
        let liList=listImg.map((item2,imgIndex2)=>{
          return <li key={imgIndex2} style={{'listStyleType':index == imgIndex2 ? 'initial' :'circle'}}></li> 
        })
        return (
          <div>
              {imgList}
            <div>
              <ul>
                {liList}
              </ul> 
            </div>
          </div>
        )
      
      }
    }
    
    ReactDOM.render(
      <Img />,
      document.getElementById("root")
    )
  }
 
</script>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。 

Javascript 相关文章推荐
推荐自用 Javascript 缩图函数 (onDOMLoaded)……
Oct 23 Javascript
javascript 常用代码技巧大收集
Feb 25 Javascript
javascript动态加载二
Aug 22 Javascript
jQuery操作select下拉框的text值和value值的方法
May 31 Javascript
js获取域名的方法
Jan 27 Javascript
javascript中checkbox使用方法实例演示
Nov 19 Javascript
用jmSlip编写移动端顶部日历选择控件
Oct 24 Javascript
Javascript 普通函数和构造函数的区别
Nov 05 Javascript
js获取当前页的URL与window.location.href简单方法
Feb 13 Javascript
jQuery插件FusionCharts实现的Marimekko图效果示例【附demo源码】
Mar 24 jQuery
荐书|您有一份JavaScript书单待签收
Jul 21 Javascript
JavaScript实现拖拽和缩放效果
Aug 24 Javascript
React实现全选功能
Aug 25 #Javascript
react实现复选框全选和反选组件效果
Aug 25 #Javascript
js实现数字跳动到指定数字
Aug 25 #Javascript
js实现点击选项置顶动画效果
Aug 25 #Javascript
理解JavaScript中的对象
Aug 25 #Javascript
一文秒懂JavaScript构造函数、实例、原型对象以及原型链
Aug 25 #Javascript
node.js基础知识汇总
Aug 25 #Javascript
You might like
修改php.ini不生效问题解决方法(上传大于8M的文件)
2013/06/14 PHP
php环境套包 dedeampz 伪静态设置示例
2014/03/26 PHP
Thinkphp使用mongodb数据库实现多条件查询方法
2014/06/26 PHP
php程序员应具有的7种能力小结
2014/11/27 PHP
标准PHP的AES加密算法类
2015/03/12 PHP
laravel创建类似ThinPHP中functions.php的全局函数
2016/11/26 PHP
Javascript的一种模块模式
2008/03/22 Javascript
利用JS来控制键盘的上下左右键(示例代码)
2013/12/14 Javascript
cookie中的path与domain属性详解
2013/12/18 Javascript
jquery ajax应用中iframe自适应高度问题解决方法
2014/04/12 Javascript
JavaScript将数组转换成CSV格式的方法
2015/03/19 Javascript
JavaScript mixin实现多继承的方法详解
2017/03/30 Javascript
jquery.pagination.js分页使用教程
2018/10/23 jQuery
Vue项目实现简单的权限控制管理功能
2019/07/17 Javascript
Node.js从字符串生成文件流的实现方法
2019/08/18 Javascript
[42:27]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#2Fnatic VS OG第三局
2016/03/05 DOTA
python文件和目录操作方法大全(含实例)
2014/03/12 Python
用python实现面向对像的ASP程序实例
2014/11/10 Python
C#返回当前系统所有可用驱动器符号的方法
2015/04/18 Python
详细解读Python中的__init__()方法
2015/05/02 Python
Python中死锁的形成示例及死锁情况的防止
2016/06/14 Python
Django工程的分层结构详解
2019/07/18 Python
Python内置数据类型list各方法的性能测试过程解析
2020/01/07 Python
python爬虫实例之获取动漫截图
2020/05/31 Python
Python实现简单的猜单词小游戏
2020/10/28 Python
在PyCharm中安装PaddlePaddle的方法
2021/02/05 Python
HTML5+CSS3 实现灵动的动画 TAB 切换效果(DEMO)
2017/09/15 HTML / CSS
司机职责范本
2014/03/08 职场文书
入党自我鉴定
2014/03/25 职场文书
赡养老人协议书
2014/04/21 职场文书
语文高效课堂实施方案
2014/05/03 职场文书
植树节标语
2014/06/27 职场文书
领导班子整改措施
2014/10/24 职场文书
感动中国何玥观后感
2015/06/02 职场文书
传单、海报早OUT了,另类传单营销方案送给你!
2019/07/15 职场文书
基于Python编写简易版的天天跑酷游戏的示例代码
2022/03/23 Python