在寫微信小程式時,有寫到實現3D輪播圖的效果,可以直接使用微信小程式中自帶的元件swiper來實現
效果圖如下:
1.swiper的相關屬性
indicator-dots 是否顯示小圓點,也可以自己重新設定小圓點 circular 是否銜接滑動,就是實現無限滾動 previous-margin 與上一張圖片的間距 next-margin 與下一張圖片的間距 autoplay 實現自動滾動
這裡主要利用了circular實現無限滾動,然後再加上前後間距,再設定圖片的層級和透明度就可以實現了,將圖片及容器的高度設定好就差不多可以實現了
wxml檔案
<!--carousel/index.wxml-->
<swiper class="imageContainer" bindchange="handleChange" previous-margin="50rpx" next-margin="50rpx" circular autoplay>
<block wx:for="{{3}}" wx:key="{{index}}">
<swiper-item class="item">
<image class="itemImg {{currentIndex == index ? 'active': ''}}" src="../../../image/3.jpg"></image>
</swiper-item>
</block>
</swiper>
複製程式碼
wxss檔案
/* carousel/index.wxss */
page{
background: #f7f7f7f7;
}
.imageContainer{
width: 100%;
height: 500rpx;
background: #000;
}
.item{
height: 500rpx;
}
.itemImg{
position: absolute;
width: 100%;
height: 380rpx;
border-radius: 15rpx;
z-index: 5;
opacity: 0.7;
top: 13%;
}
.active{
opacity: 1;
z-index: 10;
height: 430rpx;
top: 7%;
transition:all .2s ease-in 0s;
}
複製程式碼
JS檔案
// carousel/index.js
Page({
data: {
currentIndex: 0
},
onLoad: function (options) {
},
/* 這裡實現控制中間凸顯圖片的樣式 */
handleChange: function(e) {
this.setData({
currentIndex: e.detail.current
})
},
})
複製程式碼
這裡推薦一下我的前端學習交流群:784783012,裡面都是學習前端的,如果你想製作酷炫的網頁,想學習程式設計。自己整理了一份2018最全面前端學習資料,從最基礎的HTML+CSS+JS【炫酷特效,遊戲,外掛封裝,設計模式】到移動端HTML5的專案實戰的學習資料都有整理,送給每一位前端小夥伴,有想學習web前端的,或是轉行,或是大學生,還有工作中想提升自己能力的,正在學習的小夥伴歡迎加入學習。