微信小程序抽獎(jiǎng)組件的使用步驟
采用微信組件的方式提供,因組件內(nèi)部使用了async/await,所以請(qǐng)?jiān)谖⑿砰_(kāi)發(fā)者工具"詳情=》本地設(shè)置 勾上 增強(qiáng)編譯和使用npm",小程序npm使用方法請(qǐng)參考:微信小程序-npm支持
先看效果圖:
使用步驟:
步驟一:
安裝依賴或前往githua下載源碼,拷貝dist目錄下的lottery-turntable目錄
npm i lottery-turntable-for-wx-miniprogram
步驟二:
頁(yè)面JSON配置
{ "usingComponents": { "lottery-turntable":"lottery-turntable-for-wx-miniprogram/lottery_turntable/index" } }
步驟三:
準(zhǔn)備數(shù)據(jù)和增加事件處理(使用組件頁(yè)面JS)
const datas = [{ "id": "792085712309854208", "imgUrl": "../../images/icon.png", "title": "迅雷白金會(huì)員月卡 - 1" }, { "id": "766410261029724160", "imgUrl": "../../images/icon.png", "title": "迅雷白金會(huì)員月卡 - 2" }, { "id": "770719340921364480", "imgUrl": "../../images/icon.png", "title": "迅雷白金會(huì)員月卡 - 3" }, { "id": "770946438416048128", "imgUrl": "../../images/icon.png", "title": "迅雷白金會(huì)員月卡 - 4" }, { "id": "781950121802735616", "imgUrl": "../../images/icon.png", "title": "迅雷白金會(huì)員月卡 - 5" }, { "id": "766411654436233216", "imgUrl": "../../images/icon.png", "title": "迅雷白金會(huì)員月卡 - 6" }, { "id": "770716883860332544", "imgUrl": "../../images/icon.png", "title": "迅雷白金會(huì)員月卡 - 7" }, { "id": "796879308510732288", "imgUrl": "../../images/icon.png", "title": "迅雷白金會(huì)員月卡 - 8" }]; Page({ data: { datas: datas, // 數(shù)據(jù) prizeId: '', // 抽中結(jié)果id,通過(guò)屬性方式傳入組件 config: { // 轉(zhuǎn)盤配置,通過(guò)屬性方式傳入組件 titleLength: 7 } }, /** * 次數(shù)不足回調(diào) * @param e */ onNotEnoughHandle(e) { wx.showToast({ icon: 'none', title: e.detail }) }, /** * 抽獎(jiǎng)回調(diào) */ onLuckDrawHandle() { this.setData({ prizeId: this.data.datas[Math.floor(Math.random() * 10 % this.data.datas.length)].id }); }, /** * 動(dòng)畫旋轉(zhuǎn)完成回調(diào) */ onLuckDrawFinishHandle() { const datas = this.data.datas; const data = datas.find((item) => { return item.id === this.data.prizeId; }); wx.showToast({ icon: 'none', title: `恭喜你抽中 ${data.title}` }) this.setData({ prizeId: '' }); } })
步驟四:
頁(yè)面使用
<lottery-turntable data="{{datas}}" prize-id="{{prizeId}}" count="{{5}}" config="{{config}}" bindLuckDraw="onLuckDrawHandle" bindNotEnough="onNotEnoughHandle" bindLuckDrawFinish="onLuckDrawFinishHandle" ></lottery-turntable>
步驟五:
更改組件配置項(xiàng)(以下為默認(rèn)配置),通過(guò)config屬性傳入一個(gè)js對(duì)象
/** * ease: 取值如下 * 'linear' 動(dòng)畫從頭到尾的速度是相同的 * 'ease' 動(dòng)畫以低速開(kāi)始,然后加快,在結(jié)束前變慢 * 'ease-in' 動(dòng)畫以低速開(kāi)始 * 'ease-in-out' 動(dòng)畫以低速開(kāi)始和結(jié)束 * 'ease-out' 動(dòng)畫以低速結(jié)束 * 'step-start' 動(dòng)畫第一幀就跳至結(jié)束狀態(tài)直到結(jié)束 * 'step-end' 動(dòng)畫一直保持開(kāi)始狀態(tài),最后一幀跳到結(jié)束狀態(tài) */ // 以下為默認(rèn)配置 let config = { size: { width: '572rpx', height: '572rpx' }, // 轉(zhuǎn)盤寬高 bgColors: ['#FFC53F', '#FFED97'], // 轉(zhuǎn)盤間隔背景色 支持多種顏色交替 fontSize: 10, // 文字大小 fontColor: '#C31A34', // 文字顏色 titleMarginTop: 12, // 最外文字邊距 titleLength: 6 // 最外文字個(gè)數(shù) iconWidth: 29.5, // 圖標(biāo)寬度 iconHeight: 29.5, // 圖標(biāo)高度 iconAndTextPadding: 4, // 最內(nèi)文字與圖標(biāo)的邊距 duration: 8000, // 轉(zhuǎn)盤轉(zhuǎn)動(dòng)動(dòng)畫時(shí)長(zhǎng) rate: 1.5, // 由時(shí)長(zhǎng)s / 圈數(shù)得到 border: 'border: 10rpx solid #FEFAE4;', // 轉(zhuǎn)盤邊框 ease: 'ease-out' // 轉(zhuǎn)盤動(dòng)畫 };
總結(jié)
到此這篇關(guān)于微信小程序抽獎(jiǎng)組件的文章就介紹到這了,更多相關(guān)微信小程序抽獎(jiǎng)組件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 微信小程序?qū)崿F(xiàn)轉(zhuǎn)盤抽獎(jiǎng)
- 微信小程序開(kāi)發(fā)之大轉(zhuǎn)盤 仿天貓超市抽獎(jiǎng)實(shí)例
- 微信小程序?qū)崿F(xiàn)簡(jiǎn)單九宮格抽獎(jiǎng)
- 微信小程序?qū)崿F(xiàn)走馬燈式抽獎(jiǎng)
- 微信小程序?qū)崿F(xiàn)翻牌抽獎(jiǎng)動(dòng)畫
- 微信小程序 扭蛋抽獎(jiǎng)機(jī)css3動(dòng)畫實(shí)現(xiàn)詳解
- 微信小程序?qū)崿F(xiàn)九宮格抽獎(jiǎng)
- 微信小程序?qū)崿F(xiàn)多宮格抽獎(jiǎng)活動(dòng)
- 微信小程序 搖一搖抽獎(jiǎng)簡(jiǎn)單實(shí)例實(shí)現(xiàn)代碼
- 微信小程序轉(zhuǎn)盤抽獎(jiǎng)的實(shí)現(xiàn)方法
相關(guān)文章
js實(shí)現(xiàn)盒子滾動(dòng)動(dòng)畫效果
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)盒子滾動(dòng)動(dòng)畫效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-08-08通過(guò)示例演示理解javascript預(yù)解析
這篇文章主要為大家介紹了通過(guò)示例演示理解javascript預(yù)解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2022-03-03前端開(kāi)發(fā)基礎(chǔ)javaScript的六大作用
這篇文章主要介紹了前端開(kāi)發(fā)基礎(chǔ)javaScript的六大作用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08Bootstrapvalidator校驗(yàn)、校驗(yàn)清除重置的實(shí)現(xiàn)代碼(推薦)
這篇文章給大家介紹了bootstrapvalidator校驗(yàn)、校驗(yàn)清除重置的實(shí)現(xiàn)代碼,在代碼中需要我們引入css與js文件,大家可以參考下文的代碼2016-09-09利用JS獲取IE客戶端IP及MAC的實(shí)現(xiàn)好象不可以
利用JS獲取IE客戶端IP及MAC的實(shí)現(xiàn)好象不可以...2007-01-01javascript實(shí)現(xiàn)搜索篩選功能實(shí)例代碼
這篇文章主要給大家介紹了關(guān)于javascript實(shí)現(xiàn)搜索篩選功能的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11