Vue Concise Slider
made with Vuejs

Vue Concise Slider

这是一个简单的滑动组件。

相关问答
暂无相关问题
查看全部
简介及使用教程

Vue Concise Slider是一个简单的滑动组件,配置简单,支持自适应/全屏+按钮+分页,同时兼容移动端和PC端。

Vue Concise Slider提供了10多种滑动效果以及许多选项,例如循环播放,自动播放或淡入淡出效果。

特点

  • 简单配置
  • 轻量 (~35kB gzipped)
  • 多种滑动样式

安装

Npm

npm i vue-concise-slider

Yarn

yarn add vue-concise-slider

使用

引入组件

import { slider, slideritem } from 'vue-concise-slider'

注册组件

export default {
...
components: {
        slider,
        slideritem
    },
...
}

template

 <div style="width:70%;margin:20px auto;height:400px">
      <!-- 配置slider组件 -->
      <slider ref="slider" :options="options" @slide='slide' @tap='onTap' @init='onInit'>
          <!-- 直接使用slideritem slot -->
           <slideritem v-for="(item,index) in someList" :key="index" :style="item.style">{{item.html}}</slideritem>
          <!-- 设置loading,可自定义 -->
          <div slot="loading">loading...</div>
      </slider>
 </div>

示例

完整示例

<template>
<!-- 制作一个框架包裹slider -->
     <div style="width:70%;margin:20px auto;height:400px">
          <!-- 配置slider组件 -->
          <slider ref="slider" :options="options" @slide='slide' @tap='onTap' @init='onInit'>
              <!-- 直接使用slideritem slot -->
               <slideritem v-for="(item,index) in someList" :key="index" :style="item.style">{{item.html}}</slideritem>
              <!-- 设置loading,可自定义 -->
              <div slot="loading">loading...</div>
          </slider>
     </div>
</template>
<script>
import { slider, slideritem } from 'vue-concise-slider'// import slider components
export default {
   el: '#app',
   data () {
      return {
        //Image list
        someList:[],
        //Sliding configuration [obj]
        options: {
          currentPage: 0,
          thresholdDistance:500,
          thresholdTime:100,
          autoplay:1000,
          loop:true,
          direction:'vertical',
          loopedSlides:1,
          slidesToScroll:1,
          timingFunction: 'ease',
          speed: 300
        }
      }
    },
    components: {
      slider,
      slideritem
    },
    mounted () {
      let that = this
      setTimeout(function () {
        that.someList = [
          {
            html: 'slide1',
            style: {
              'background': '#1bbc9b'
            }
          },
          {
            html: 'slide2',
            style: {
              'background': '#4bbfc3'
            }
          },
          {
            html: 'slide3',
            style: {
              'background': '#7baabe'
            }
          }
        ]
      }, 2000)
    },
    methods: {
      // Listener event
      slide (data) {
        console.log(data)
      },
      onTap (data) {
        console.log(data)
      },
      onInit (data) {
        console.log(data)
      }
    }
}
</script>

作者

Phillips

相关项目