微信小程序實戰(zhàn)之輪播圖(3)
輪播圖是大部分應用的一個常用的功能,常用于廣告投放、產品展示、活動展示等等。
漂亮的輪播圖效果可以吸引用戶的點擊,達到推廣產品的作用。
廢話少說,下面開始動手。
業(yè)務需求:
5個圖片輪番播放,可以左右滑動,點擊指示點可以切換圖片
重點說明:
由于微信小程序,整個項目編譯后的大小不能超過1M
查看做輪播圖功能的一張圖片大小都已經(jīng)有100+k了
那么我們可以把圖片放在服務器上,發(fā)送請求來獲取。
index.wxml:
這里使用小程序提供的<swiper>組件
autoplay:自動播放
interval:自動切換時間
duration:滑動動畫的時長
current:當前所在的頁面
bindchange:current 改變時會觸發(fā) change 事件
由于<swiper>組件提供的指示點樣式比較單一,另外再自定義指示點的樣式
<view class="recommend" >
<view class="swiper-container">
<swiper autoplay="auto" interval="5000" duration="500" current="{{swiperCurrent}}" bindchange="swiperChange" class="swiper">
<block wx:for="{{slider}}" wx:key="unique">
<swiper-item data-id="{{item.id}}" data-url="{{item.linkUrl}}">
<image src="{{item.picUrl}}" class="img"></image>
</swiper-item>
</block>
</swiper>
<view class="dots">
<block wx:for="{{slider}}" wx:key="unique">
<view class="dot{{index == swiperCurrent ? ' active' : ''}}" bindtap="chuangEvent" id="{{index}}">{{index+1}}</view>
</block>
</view>
</view>
</view>
index.wxss:
.swiper-container{
position: relative;
}
.swiper-container .swiper{
height: 300rpx;
}
.swiper-container .swiper .img{
width: 100%;
height: 100%;
}
.swiper-container .dots{
position: absolute;
right: 40rpx;
bottom: 20rpx;
display: flex;
justify-content: center;
}
.swiper-container .dots .dot{
margin: 0 10rpx;
width: 28rpx;
height: 28rpx;
background: #fff;
border-radius: 50%;
transition: all .6s;
font: 300 18rpx/28rpx "microsoft yahei";
text-align: center;
}
.swiper-container .dots .dot.active{
background: #f80;
color:#fff;
}
index.js:
//導入js
var util = require('../../utils/util.js')
Page({
data: {
slider: [],
swiperCurrent: 0
},
onLoad: function () {
var that = this;
//網(wǎng)絡訪問,獲取輪播圖的圖片
util.getRecommend(function(data){
that.setData({
slider: data.data.slider
})
});
},
//輪播圖的切換事件
swiperChange: function(e){
//只要把切換后當前的index傳給<swiper>組件的current屬性即可
this.setData({
swiperCurrent: e.detail.current
})
},
//點擊指示點切換
chuangEvent: function(e){
this.setData({
swiperCurrent: e.currentTarget.id
})
}
})
utils.js:
//網(wǎng)絡訪問
function getRecommend(callback) {
wx.request({
url: 'https://c.y.qq.com/musichall/fcgi-bin/fcg_yqqhomepagerecommend.fcg',
data: {
g_tk: 5381,
uin: 0,
format: 'json',
inCharset: 'utf-8',
outCharset: 'utf-8',
notice: 0,
platform: 'h5',
needNewCode: 1,
_: Date.now()
},
method: 'GET',
header: {'content-Type': 'application/json'},
success: function(res){
if(res.statusCode == 200){
callback(res.data);
}
}
})
}
module.exports = {
getRecommend: getRecommend
}
運行:

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Extjs4實現(xiàn)兩個GridPanel之間數(shù)據(jù)拖拽功能具體方法
這篇文章主要介紹了Extjs4實現(xiàn)兩個GridPanel之間數(shù)據(jù)拖拽功能具體方法,有需要的朋友可以參考一下2013-11-11
在LayUI圖片上傳中,解決由跨域問題引起的請求接口錯誤的方法
今天小編就為大家分享一篇在LayUI圖片上傳中,解決由跨域問題引起的請求接口錯誤的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09
淺析Javascript中bind()方法的使用與實現(xiàn)
下面小編就為大家?guī)硪黄獪\析Javascript中bind()方法的使用與實現(xiàn)。小編覺得挺不錯的,現(xiàn)在分享給大家,一起跟隨小編過來看看吧2016-04-04
JavaScript處理XML DOM、XPath和XSLT方法詳解
這篇文章介紹了JavaScript處理XML DOM、XPath和XSLT的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-05-05
使用threejs實現(xiàn)第一人稱視角的移動的問題(示例代碼)
第一人稱視角的場景巡檢主要需要解決兩個問題,人物在場景中的移動和碰撞檢測。移動與碰撞功能是所有三維場景首先需要解決的基本問題,今天我們就通過最基本的threejs來完成第一人稱視角的場景巡檢功能,感興趣的朋友一起看看吧2022-02-02
對layui數(shù)據(jù)表格動態(tài)cols(字段)動態(tài)變化詳解
今天小編就為大家分享一篇對layui數(shù)據(jù)表格動態(tài)cols(字段)動態(tài)變化詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10

