美文网首页ReactJS
ReactJS-轮播图

ReactJS-轮播图

作者: 凌风x | 来源:发表于2018-07-13 13:18 被阅读8次

做一个基于ReactJS的轮播图组件

class SwiperCompoent extends React.Component {
  swiperId="";
  word="";
  titleImg="";
  constructor(props) {
    super(props);
    this.state = {
      slides: props.exImg,
      word:""
    }
    this.word=props.exWord[0];
    this.titleImg=props.exHeader;
    this.swiperId=props.exId;
  }

  componentDidMount() {
    this.initSwiper();
  }
   initSwiper(){
    const swiper = new Swiper('#'+this.swiperId, {
      initialSlide: 0,
      slidesPerView: 1,
      freeMode: false,
      normalizeSlideIndex: true,
      stopOnLastSlide: true,
      speed: 300,
      spaceBetween: 40,
      pagination: '.swiper-pagination',
      paginationClickable: true,
      onSlideChangeEnd: (swiper) => {
        this.word=this.props.exWord[swiper.activeIndex];
        /* 这里使用的是 非直接state的渲染模式 
         利用setState的重新渲染机制 
         当使用setState重新渲染组件时 将会把this.word的改变值 重新渲染上去
         当然也可以 使用this.state.word 直接渲染 */
         this.setState({
          word:""
          }); 
      },
      onTouchMove: (swiper, e) => {},
      onClickNext: (swiper, e) => {}
    });
   }
  render() {
    return (
      <div className="swiper">
        <div>
          <img className="swiper-header" src={this.titleImg} />
        </div>
        <div className="swiper-piper">
          <div className="swiper-container" id={this.swiperId}>
            <div className="swiper-wrapper">
              {this.state.slides.map((slide, index) => (
                <div className="swiper-slide">
                  <img src={slide} className="swiper-img" />
                </div>
              ))}
            </div>
            <div class="swiper-pagination"></div>
          </div>
          <div className="swiper-text">
            {this.word}
        </div>
        </div>
      </div>
    )
  }
}

使用

class Index extends React.Component {
  constructor(props) {
    super(props);
  }
  imgData1 = ["1.jpg","2.jpg","3.jpg"];
  word1 = ["1", "2", "3"];
  componentDidMount() {};
  render() {
    return (
      <div className="main">
        <SwiperCompoent exId="exid1" exImg={this.imgData1} exWord={this.word1} exHeader={img_reg}>
     </SwiperCompoent>
      </div>
    );
  }
}

相关文章

  • ReactJS-轮播图

    做一个基于ReactJS的轮播图组件 使用

  • 无标题文章

    轮播图分为:传统轮播图、间歇轮播图、呼吸轮播图、无缝滚动轮播图等。它们各具特色,各有用处。 1.传统轮播图 第一步...

  • 轮播图

    轮播图分为:传统轮播图、间歇轮播图、呼吸轮播图、无缝滚动轮播图等。 1.传统轮播图 第一步,得到元素 第二步,设置...

  • 现金红包

    每日红包 轮播图 详情图 周末红包 轮播图 详情图 圣诞红包 轮播图 详情图

  • day7_作业

    轮播图1 轮播图2

  • [iOS]定制性强的广告轮播图--SCAdView

    @[无限轮播图] @[3D轮播图] @[广告轮播图] SCAdView Statement If my code ...

  • 普通奖品

    卡西欧小方块 轮播图 详情图 三只松鼠大礼包 轮播图 详情图 天猫精灵 轮播图 详情图 小米蓝牙无线耳机 轮播图 ...

  • 轮播图心得

    轮播图 写轮播图之前我们要认识到几个问题:一、什么是轮播图?二、怎么实现轮播效果?三、轮播图还有什么小功能可以实现...

  • 第五周学习内容

    焦点图轮播特效之原理、焦点图轮播样式之布局、焦点图轮播之箭头切换、焦点图轮播之无限滚动。 js简介、用法、输出。

  • 三种样式的轮播图

    一、100%比例轮播图 HTML代码 CSS样式 js代码 二、手动箭头轮播图 三、简易轮播图

网友评论

    本文标题:ReactJS-轮播图

    本文链接:https://www.haomeiwen.com/subject/nqmjpftx.html