Vue-SuperSlide(SuperSlide component for Vue)

Vue-SuperSlide

Vue-SuperSlide(Github) 是 SuperSlide 的 Vue 封裝版本,API 配置及使用方法與 SuperSlide 幾乎一致,讓你可以便捷的在 Vue 工程中使用 SuperSlide。javascript

簡介

關於 SuperSlide 的詳細介紹能夠到 SuperSlide 官方網站 - 大話主席 進行查看。css

大話主席的 SuperSlide 是多年之前前端還處於 jQuery 時代我使用的最多的一個插件,它幫我解決了網頁中大部分的文字、圖片切換輪播等問題,用起來的是特別的順手,固然如今前端三大框架的火熱,已經沒有多少人在關注依賴於 jQuery 的插件了,可是我相信 Superslide 的粉絲仍是有很多的。html

今天提供一個 Superslide 的 Vue 封裝版本,同時也逐步將 Superslide 官網上的全部 demo 用例所有示例一遍(目前正在逐步添加),讓你可以便捷的在 Vue 工程中使用 Superslide 的所有功能。前端

Example

Demo Pagevue

CDN Examplejava

Install

CDN

<!-- import Vue before SuperSlide -->
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<!-- import JavaScript -->
<script src="https://unpkg.com/vue-superslide/lib/vue-superslide.umd.min.js"></script>

NPM

npm install vue-superslide --save

Mount

import Vue from 'vue'
import VueSuperSlide from 'vue-superslide'

Vue.use(VueSuperSlide)

SPA Example

<template>
  <superslide :options="options" class="slideBox">
    <!-- slides -->
    <div class="bd">
      <ul>
        <li>
          <a href="javascript:;"><img src="../images/pic1.jpg"/></a>
        </li>
        <li>
          <a href="javascript:;"><img src="../images/pic2.jpg"/></a>
        </li>
        <li>
          <a href="javascript:;"><img src="../images/pic3.jpg"/></a>
        </li>
      </ul>
    </div>

    <!-- Optional controls slots -->
    <!-- slot="titCell" -->
    <div class="hd" slot="titCell">
      <ul>
        <li class="on">1</li>
        <li class="">2</li>
        <li class="">3</li>
      </ul>
    </div>

    <!-- slot="prev" -->
    <a class="prev" href="javascript:void(0)" slot="prev"></a>
    <!-- slot="next" -->
    <a class="next" href="javascript:void(0)" slot="next"></a>

    <!-- slot="pageStateCell" -->
    <span class="pageState" slot="pageStateCell"></span>
  </superslide>
</template>
<script>
  export default {
    name: "slideBox",
    data () {
      return {
        options: {
          mainCell: ".bd ul",
          autoPlay: true
        }
      }
    }
</script>
<style type="text/css">
  /* 本例子css */
  .slideBox {
    width: 450px;
    height: 230px;
    overflow: hidden;
    position: relative;
    border: 1px solid #ddd;
  }
  .slideBox .hd {
    height: 15px;
    overflow: hidden;
    position: absolute;
    right: 5px;
    bottom: 5px;
    z-index: 1;
  }
  .slideBox .hd ul {
    overflow: hidden;
    zoom: 1;
    float: left;
  }
  .slideBox .hd ul li {
    float: left;
    margin-right: 2px;
    width: 15px;
    height: 15px;
    line-height: 14px;
    text-align: center;
    background: #fff;
    cursor: pointer;
  }
  .slideBox .hd ul li.on {
    background: #f00;
    color: #fff;
  }
  .slideBox .bd {
    position: relative;
    height: 100%;
    z-index: 0;
  }
  .slideBox .bd li {
    zoom: 1;
    vertical-align: middle;
  }
  .slideBox .bd img {
    width: 450px;
    height: 230px;
    display: block;
  }

  /* 下面是前/後按鈕代碼,若是不須要刪除便可 */
  .slideBox .prev,
  .slideBox .next {
    position: absolute;
    left: 3%;
    top: 50%;
    margin-top: -25px;
    display: block;
    width: 32px;
    height: 40px;
    background: url(../assets/images/slider-arrow.png) -110px 5px no-repeat;
    filter: alpha(opacity=50);
    opacity: 0.5;
  }
  .slideBox .next {
    left: auto;
    right: 3%;
    background-position: 8px 5px;
  }
  .slideBox .prev:hover,
  .slideBox .next:hover {
    filter: alpha(opacity=100);
    opacity: 1;
  }
  .slideBox .prevStop {
    display: none;
  }
  .slideBox .nextStop {
    display: none;
  }
</style>

API

SuperSlide 官網中的 API 及配置都可使用git

結語

若是你的 Vue 項目中還有各類圖片、文字的切換、輪播、滾動效果,你能夠直接使用 Vue-SuperSlide 了,更多的 Examples 陸續更新。github

若有問題歡迎留言溝通。npm