React實現輪播圖效果

本文實例為大傢分享瞭React實現輪播圖效果的具體代碼,供大傢參考,具體內容如下

效果:

輪播功能用到瞭react-slick組件,安裝:

npm install react-slick --save
npm install slick-carousel

安裝完後需要在使用輪播圖的頁面上導入css文件:

import Slider from 'react-slick';
import 'slick-carousel/slick/slick.css';
import 'slick-carousel/slick/slick-theme.css';

swiper.js

import React, { Component } from 'react';
import Slider from 'react-slick';
import 'slick-carousel/slick/slick.css';
import 'slick-carousel/slick/slick-theme.css';
 
export default class SimpleSlider extends Component {
    render() {
        const settings = {
            dots: true,
            dotsClass:'slick-dots1',//自定義指示器的樣式
            // dots: {'dot-style':String},
            infinite: true,
            speed: 500,
            slidesToShow: 1,
            slidesToScroll: 1,
            height:500
        };
        return (
            <div style={{margin:'50px 12px 40px 12px'}}>
                <h2> Single Item</h2>
                <Slider {...settings}>
                    <div>
                        <h3>1</h3>
                        <div style={{background:'#25f5f5',height:'160px'}}>sdfkjsdlfjldskfjlksjdf</div>
                    </div>
                    <div>
                        <h3>2</h3>
                    </div>
                    <div>
                        <h3>3</h3>
                    </div>
                    <div>
                        <h3>4</h3>
                    </div>
                    <div>
                        <h3>5</h3>
                    </div>
                    <div>
                        <h3>6</h3>
                    </div>
                </Slider>
            </div>
        );
    }
}

swiper.css

//輪播圖下方dot樣式
.slick-dots1
{
  position: absolute;
  bottom: -25px;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
}
.slick-dots1 li
{
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}
.slick-dots1 li button
{
  font-size: 0;
  line-height: 0;
  display: block;
  width: 20px;
  height: 20px;
  padding: 5px;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: transparent;
}
.slick-dots1 li button:hover,
.slick-dots1 li button:focus
{
  outline: none;
}
.slick-dots1 li button:hover:before,
.slick-dots1 li button:focus:before
{
  opacity: 1;
}
//未選中時的樣式
.slick-dots1 li button:before
{
  font-family: 'slick';
  font-size: 8px;
  line-height: 8px;
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 8px;
  content: '•';
  text-align: center;
  //opacity: .25;
  color: #CCCCCC;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
//選中的樣式
.slick-dots1 li.slick-active button:before
{
  //opacity: .75;
  color: #2183E2;
  background-color: #2183E2;
  border-radius: 5px;
}

以上就是本文的全部內容,希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。

推薦閱讀: