最新消息:Rockyxia Web技术博客全新改版,响应式布局满足各种设备各种尺寸的访问需求。

我来推一个Vue组件:Vue-SuperSlide

Javascript rockyxia 8681浏览

Vue-SuperSlide

Vue-SuperSlide(Github) 是 SuperSlide 的 Vue 封装版本,API 配置及使用方法与 SuperSlide 几乎一致,让你能够便捷的在 Vue 工程中使用 SuperSlide。

简介

关于 SuperSlide 的详细介绍可以到 SuperSlide 官方网站 – 大话主席 进行查看。

大话主席的 SuperSlide 是多年以前前端还处于 jQuery 时代我使用的最多的一个插件,它帮我解决了网页中大部分的文字、图片切换轮播等问题,用起来的是特别的顺手,当然现在前端三大框架的火热,已经没有多少人在关注依赖于 jQuery 的插件了,但是我相信 Superslide 的粉丝还是有不少的。

今天提供一个 Superslide 的 Vue 封装版本,同时也逐步将 Superslide 官网上的所有 demo 用例全部示例一遍(目前正在逐步添加),让你能够便捷的在 Vue 工程中使用 Superslide 的全部功能。

Example

Demo Page

CDN Example

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 及配置均可使用

结语

如果你的 Vue 项目中还有各种图片、文字的切换、轮播、滚动效果,你可以直接使用 Vue-SuperSlide 了,更多的 Examples 陆续更新。

如有问题欢迎留言沟通。

转载请注明:Rockyxia Web技术博客 » 我来推一个Vue组件:Vue-SuperSlide
感谢阅读,如果您发现文章中有表述不准确,欢迎提出来,也欢迎交流相关问题,你可以去这里进行一对一问答交流。

(本篇完)