首頁 >微信小程式 >小程式開發 >微信小程式開髮指南:關於輪播

微信小程式開髮指南:關於輪播

高洛峰
高洛峰原創
2017-03-04 14:44:281725瀏覽

應用程式中最常見的應該就是輪圖了,本文講輪播的實現,部分內容來自官方文檔,增加了筆者實際操作中的一些問題與經驗。
本文基於微信小程式公測版,IDE:微信開發者工具0.10.102800

元件 swiper

微信小程式開髮指南:關於輪播

當不設定 vertical 屬性,或vertical=”false” 時,指示點在元件下部,圖片輪播從左到右,效果如下:

微信小程式開髮指南:關於輪播

當設定vertical=”true” 時,指示點在元件右部,圖片輪播從下至上,效果如下:

微信小程式開髮指南:關於輪播

注意: swiper是一個容器類別視圖,但是其中只能放置元件,如放置其他節點,會自動刪除。

swiper-item

程式碼如下:

<!--main.wxml-->
<view>
    <swiper class="swiper_box" indicator-dots="{{indicatorDots}}" vertical="{{vertical}}"
            autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}" bindchange="swiperchange">
        <block wx:for="{{images}}">
            <swiper-item>
                <image src="{{item.picurl}}" class="slide-image"/>
            </swiper-item>
        </block>
    </swiper>
</view>
//main.js
//获取应用实例
var app = getApp()
Page({
    data: {
        indicatorDots: true,
        vertical: true,
        autoplay: true,
        interval: 3000,
        duration: 1000,
        loadingHidden: false  // loading
    },

    //事件处理函数
    swiperchange: function(e) {
        // 此处写 轮播 改变时会触发的 change 事件
    },

    onLoad: function() {
        console.log(&#39;onLoad&#39;)
        var that = this

        //sliderList
        wx.request({
            url: &#39;http://huanqiuxiaozhen.com/wemall/slider/list&#39;,
            method: &#39;GET&#39;,
            data: {},
            header: {
                &#39;Accept&#39;: &#39;application/json&#39;
            },
            success: function(res) {
                that.setData({
                    images: res.data
                })
            }
        })
    }
})

item點擊事件

在 swiper-item 上綁定事件,透過data 自訂標籤綁定數據。然後在function中透過event拿到。

<!--main.wxml-->
<view>
    <swiper class="swiper_box" indicator-dots="{{indicatorDots}}" vertical="{{vertical}}"
            autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}" bindchange="swiperchange">
        <block wx:for="{{images}}">
            <swiper-item bindtap="itemclick" data-id="{{item.id}}" data-name="{{item.name}}">
                <image src="{{item.picurl}}" class="slide-image"/>
            </swiper-item>
        </block>
    </swiper>
</view>
// 轮播item点击事件
itemclick: function(e) {
    wx.showToast({
        title: e.currentTarget.dataset.id + "",
        icon: &#39;success&#39;,
        duration: 2000
    })
},

注意在綁定的function中可以透過event拿到對應的資料。如:e.currentTarget.dataset.id 對應wxml中的data-id

當然,還有另一種辦法。不需要綁定事件,透過在每一個的 swiper-item 外麵包上一個 a 標籤,以超連結的方式跳轉頁面。

更多微信小程式開髮指南:關於輪播相關文章請關注PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn