您的位置:首页 > 其它

swiper3d横向滚动多张炫酷切换banner

2018-10-09 09:36 585 查看
最近有了个新需求,swiper3d横向滚动多张炫酷切换banner要和elementUI里边走马灯的卡片化card 类似,但是还需要h5手机触摸滚动啊啊啊啊,昨天折腾了半个早上总算完成,今天乖乖跑来mark一下。一眨眼过了一个月,9月这段期间项目多,还带着小徒弟做项目,一边教还要一边赶进度。真的是超级无敌累,不过看着他慢慢有所成长也是有点欣慰的。终归还是自己懒,放草稿箱里的文章总结就一直放着了没继续着重去写。


最近这段时间主要做h5页面,对接公众号。用的是vue来写的h5项目页面,这个项目其实是小徒弟做的……然而加了一堆的乱七八糟的插件的方法,现在还得重新梳理。不然被老大发现的话会死得很惨。


其中有一个需求是要求像elementUI里边走马灯的卡片化card,如下:





 


 但是除了需要这种3d效果之外,还需要h5手机端手动滑动,element是不支持的。当然我只是举个栗子,我的项目是要剔除了element直接用vux的。加上项目里边,有横向自动滚动相册、多个banner图。所以我这块才把目光放到swiper


使用npm安装,请直接去npm里边查看  这里可以点击→  https://www.npmjs.com/package/vue-awesome-swiper


我的完成效果:





 


 当然有人喜欢把下边的黑色阴影用分页器加上box shadow 四周阴影呈现出来,我这块是用了一张阴影图,没有使用到分页器。而且自动滚的3d效果确实比element 走马灯card还要炫酷,我这里用的是swiper3。


上代码:(博客园不好调整代码缩进,将就着看哈)


html


<div class="successNav">
<swiper :options="swipersuccess">
<!-- <swiper-slide v-for="(item,index) in indexContentTwo[2].children" :key="index"><img :src="item.picture" alt=""></swiper-slide> -->
<swiper-slide><img src="../assets/images/img/banner.png" alt=""></swiper-slide>
<swiper-slide><img src="../assets/images/img/group3.png" alt=""></swiper-slide>

</swiper>
</div>
 


data数据


data(){
return{
swipersuccess:{
effect:"coverflow",
grabCursor: true,
watchSlidesProgress: true,
centeredSlides: true,
loop: true,
loopedSlides: 3,
slidesPerView: 3,
autoplay: {
delay: 3000,//自动播放速度
disableOnInteraction: false//鼠标移上去时是否还继续播放
},
coverflowEffect: {
// rotate: 50,
// stretch: 0,
// depth: 500,
// modifier: 1,
// slideShadows : true
rotate: 30,
stretch: 0,
depth: 60,
modifier: 6,
slideShadows : false
},
},
}
}
 


生命周期


computed: {
swiper() {
return this.$refs.mySwiper.swiper;
}
},
 


css(根据业务需求自行改动)


.successNav .swiper-slide.swiper-slide-active img {
transform: scaleX(1.6);
border-radius: 5px;
}
.successNav .swiper-slide.swiper-slide-duplicate-prev img,
.successNav .swiper-slide.swiper-slide-next img,
.successNav .swiper-container-3d .swiper-slide-shadow-right,
.successNav .swiper-container-3d .swiper-slide-shadow-left,
.successNav .swiper-slide.swiper-slide-prev img,
.successNav .swiper-slide.swiper-slide-prev{
border-radius: 5px !important;
}
 


 


如果不是使用vue的小伙伴也别着急,还是有案例可以直接用js+html的





 


这里好像插入不了压缩包诶,有需要的小伙伴可以留邮箱发哈,有swiper4和swiper3两个版本的html+js的写法。和前面适用vue的一样,能自动滚,也能手机触摸手滑滚动


 


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: