vue swiper上下无缝轮播
2024-08-31 14:16:03
参考:https://www.jianshu.com/p/5e5e59065e9c
效果:
index.html:
<link href="https://cdn.bootcss.com/Swiper/3.4.2/css/swiper.css" rel="stylesheet">
<script src="https://cdn.bootcss.com/Swiper/3.4.2/js/swiper.min.js"></script>
vue:
<div class="scrollBox" v-if="scrollArr.length>0">
<div class="swiper-banner swiper_vertical" id="swiper_vertical">
<div class="swiper-wrapper swiper-wrapper-vertical swiper_vertical">
<div class="swiper-slide swiper_vertical" v-for="(item,index) in scrollArr" :key="index">
<p class="text">
<img class="srollHead" :src="item.headimgurl" />
<span class="scrollName small red">{{item.mname}}</span>
<span class="small">刚刚购买</span>
</p>
</div>
</div>
</div>
</div>
getImgs: function() { //created中调用
let _this = this;
_this.axios.get('请求链接').then(function(res) {
if (res.status === 200 && res.data.result === "0") {
let data = res.data.message.list;
for (let i in data) {
_this.scrollArr.push(data[i]);
}
_this.scrollLength = _this.scrollArr.length; _this.$nextTick(function() {
if (_this.scroll.length > 0) {
if (_this.scrollLength == 1) {
_this.isAutoplay = 0;
_this.isLoop = false;
} else {
_this.isAutoplay = 1;
_this.isLoop = true;
}
var mySwiper = new Swiper("#swiper_vertical", {
direction: "vertical", //滚动方向
autoplay: _this.isAutoplay,
loop: _this.isLoop,
speed:2000,
autoplayDisableOnInteraction: false,
preventLinksPropagation: false,
observer: true,
observeParents: true,
})
}
})
}
}).catch(function(err) {
console.log(err);
})
},
.small {
font-size: .12rem;
} .red {
color: red;
} .scrollBox {
width: 44%;
height: .4rem;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
background: rgba(0, 0, 0, .8);
color: #fff;
border-radius: 50px;
font-size: .12rem;
-webkit-transform-origin-x: 0;
-webkit-transform: scale(0.80);
overflow: hidden;
position: relative;
position: absolute;
left: .1rem;
top: .1rem;
text-align: left;
z-index: 1;
} .text {
width: 87%;
margin: auto;
height: .32rem;
display: flex;
align-items: center;
} .srollHead {
width: .3rem;
height: .3rem;
border-radius: 50%;
} .scrollName {
width: 35.8%;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
margin: 0 .05rem;
} .slide-enter-active,
.slide-leave-active {
transition: all 1.5s linear;
} .slide-enter {
transform: translateY(42px);
} .slide-leave-to {
transform: translateY(-42px);
} .swiper-wrapper {
font-size: 0;
} .swiper-wrapper-vertical {
transition-timing-function: linear !important;//无缝滚动
} .swiper-container-autoheight,
.swiper-container-autoheight .swiper-slide {
font-size: 0;
position: relative;
} .swiper_vertical {
width: 100% !important;
display: flex;
}
最新文章
- SeleniumIDE从0到1 (Selenium IDE 回放)
- ZOJ3790_Consecutive Blocks
- 深入对比数据科学工具箱:Python和R之争
- A除以B问题
- What&#39;s news in Visual Studio 2017
- test001
- js判断是刷新页面还是关闭页面
- 4572: [Scoi2016]围棋 轮廓线DP KMP
- win7 x64安装TensorFlow
- HttpDns原理
- Android 删除图片等资源文件 通知系统更新,重新扫描
- Confluence 6 使用 LDAP 授权连接一个内部目录 - 服务器设置
- 【转】javascript 中的很多有用的东西
- Hystrix的用法demo
- Spark 源码分析 &ndash; BlockManagerMaster&;Slave
- Unity 异步网络方案 IOCP Socket + ThreadSafe Queue
- GOF23设计模式之访问者模式(visitor)
- Robocopy和xxcopy全掌握
- 【程序】必看干货:Photon多人游戏开发教程
- 最佳实践: 勿在 Servlet 中实现 SingleThreadModel