awesome-slider是一款支持移动端的纯js轮播图插件。该轮播图插件支持任何HTML标签,可以自定义分页标签和Loading效果,支持在前端框架如react中使用。

使用方法

安装:

/* yarn */
yarn add awesome-slider

/* npm */
npm install awesome-slider

/* cdn */
<script src="https://unpkg.com/awesome-slider/dist/awesome-slider.min.js"></script>
                

使用了requestAnimationFrame, 如果要向低浏览器兼容, 可以自行引入requestAnimationFrame polyfill 比如yarn add raf

基本使用
const AwesomeSlider = require("awesome-slider");
// or
import AwesomeSlider from "awesome-slider";

const awesomeSlider = new AwesomeSlider(images, container, [options]);
                

API

  • images:轮播图的图片。可以是简单模式,也可以是也可以自由组合模式。
    /* 简单模式 */
    ["./images/1.jpg", "./images/2.jpg", "./images/3.jpg", "./images/4.jpg"];
    
    /* 自由组合模式 */
    [
      {
        tagName: "a",
        attrs: {
          style: "",
          class: "",
          href: "https://wwww.example.com"
        },
        children: [
        "this just textNote, not object",
        {
          tagName: "div",
          attrs: {
          style:""
        },
      },
      "./images/example.jpg"
    ]
                    
  • container:包裹 images 的 html 元素。
    var container1 = document.querySelector(".container"); 
    // react
    ...
    const containerRef = useRef(null);
    ...
    const container1 = containerRef.current;
    ...
    <div className="container1" ref={containerRef}>
                    
配置参数
  • ratio:图片的宽高比。
  • duration:轮播动画过渡的时长(ms)。
  • autoplay:是否开启自动轮播。
  • interval:自动轮播的间隔时长(ms)。
  • indicator:轮播状态的指示 js创建html, 通过有传递的参数做样式交互, 如果要使用this, 就不要使用箭头函数, 一般现有传递的参数够用。
  • initIndex:初始展示的图片的序号。
  • manual:js创建html, 插入两部分, 分别是previous和next。
  • timing:轮播动画类型。
  • enableResize:是否开启窗口大小变化的监听。
  • imageDownloading:js创建html, 插入图片加载的效果。
  • imagePlaceholder:js创建html, 插入图片加载失败的占位。

awesome-slider插件的github网址为:https://github.com/metxnbr/awesome-slider