java代码实现消息栏轮播,基于vue实现swipe轮播组件实例代码

项目背景

图片轮播是前端项目必有项,当前有很多效果很酷炫的轮播插件,例如Swiper。

但是当项目中的图片轮播只需要一个很简单的轮播样式,比如这样的

cc280b1af2f8519870685f71c3a82ea1.png

我们引用这样一个110k的大插件,就大材小用了。再安利一下,swiper2.x和swiper3.x对移动和PC端支持情况如下图

6dc470f7b5774a283319178aa2a652f2.png

当当当当~~~

我们今天的主角登场了,thebird/Swipe,这个插件完成了图片轮播需要的基本功能,只有14.2k,真真的轻量级 啊。还有,还有

580bea89910c671fcf7d5d30d797c109.png

翻译一下,就是俺们全支持,不管你是PC端(IE7+)还是移动端浏览器。此处应该有掌声,哈哈~

简而言之,就是当需要一个简单的轮播时,可以选用thebird/Swipe,自己写一个组件。

举个栗子,就是我实现的这个—— 基于vue实现swipe分页组件,移动端和PC端均适用哦。

Result

cc280b1af2f8519870685f71c3a82ea1.png

Usage

一般情况,轮播图片因为是要经常换的,故在后台定制,定制内容如下

rel=
rel=
rel=

没有定制,必须在代码里写的话,也是可以的,造一个data数组swipeInfo

data:{

swipeInfo:[{

href:"http://www.baidu.com",

imgSrc:""

},{

href:"http://www.baidu.com",

imgSrc:""

},{

href:"http://www.baidu.com",

imgSrc:""

}]

},

components: {

'swipe-module': require('pagination-swipe'),

},

在html中绑定该数据

pagination-swipe组件内容

按照swipe构造html框架,添加了pagination块

vue构造组件

//index.js

require('./style.less');

var Swipe = require('swipe');

Vue.component('pagination-swipe',{

props: ['swipeinfo'],

template: rehttp://www.cppcns.comquire('raw!./template.html'),

data: function() {

return {

mySwipe: {},

slideNum: {},

};

},

ready: function() {

var self = this;

//获取子组件中分页小圈圈

var slides = self.$els.swipe.getElementsByClassName('swipe-pagination-switch');

self.mySwipe = new Swipe(self.$els.swipe, {

startSlide: 0,

continuous: true,

speed: 1000,

auto: 4000,

stopPropagation: false,

callback: function(index, elem) {

//渲染分页小圈圈

for (var i = 0; i < slides.length; i++) {

if (i != index) {

slides[i].style.opacity = "0.2";

slides[i].style.background = "#000";

} else {

slides[index].style.opacity = "1";

slides[index].style.background = "#ee3a4a";

}

}

},

});

self.slideNum = self.mySwipe.getNumSlides() - 1;

},

methods: {

//点击底部小圈圈,跳到其所对应页

slideToCur: function(index) {

var self = this;

self.mySwipe.http://www.cppcns.comslide(index, 300);

},

}

});

.swipe {

overflow: hidden;

visibility: hidden;

position: relative;

height: 200/@rem;

.swipe-wrap {

position: relative;

overflow: hidden;

height: 100%;

div {

float: left;

width: 100%;

position: relative;

margin: 0;

a {

width: 100%;

height: 100%;

background-position: center 0;

background-repeat: no-repeat;

background-color: transparent;

display: block;

img {

width: 100%;

height: 100%;

}

}

}

}

.pagination {

text-align: center;

position: relative;

bottom: 40/@rem;

cursor: pointer;

}

.swipe-pagination-switch {

content: "";

displ

相关推荐

目前基于vue有一个vue-swipe组件,亲测轻量简单易用,基本功能齐全,是做swipe轮播图很好的选择

但是这个有一些问题,

如果样式放在scoped中,底部小圈圈就不见了~所以,这个的样式使用需要注意样式污染问题.

IE9下没有滑动效果,主要是ie9对css3动画的不兼容

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

本文标题: 基于vue实现swipe轮播组件实例代码

本文地址: http://www.cppcns.com/ruanjian/java/192021.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值