小編給大家分享一下微信小程序中如何實現(xiàn)搖一搖功能,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
創(chuàng)新互聯(lián)公司是一家從事企業(yè)網(wǎng)站建設(shè)、成都做網(wǎng)站、網(wǎng)站制作、行業(yè)門戶網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計制作的專業(yè)網(wǎng)站建設(shè)公司,擁有經(jīng)驗豐富的網(wǎng)站建設(shè)工程師和網(wǎng)頁設(shè)計人員,具備各種規(guī)模與類型網(wǎng)站建設(shè)的實力,在網(wǎng)站建設(shè)領(lǐng)域樹立了自己獨特的設(shè)計風(fēng)格。自公司成立以來曾獨立設(shè)計制作的站點上千家。微信小程序并沒有提供搖一搖API接口,但是提供了一個重力感應(yīng)的API,接下來我們可以用這個方法來模擬微信搖一搖功能,具體實現(xiàn)代碼:「wx.onAccelerometerChange(CALLBACK)」,我們可以用這個方法來模擬微信搖一搖功能,代碼如下:
Page({ onShow: function () { wx.onAccelerometerChange(function (e) { console.log(e.x) console.log(e.y) console.log(e.z) if (e.x > 1 && e.y > 1) { wx.showToast({ title: '搖一搖成功', icon: 'success', duration: 2000 }) } }) }, onHide: function(){ } })
但如果小程序需要啟用tabbar的話,這樣啟用重力感應(yīng)API會使tabbar下面所有頁面都會監(jiān)聽到重力感應(yīng)數(shù)據(jù),導(dǎo)致模擬搖一搖在所有頁面都能出現(xiàn)搖一搖的結(jié)果,這并不是我們想要的,我們只是想在tabbar下其中一個頁面允許他獲取到重力感應(yīng)數(shù)據(jù),那么就需要我們自己加入一個是否在當(dāng)前頁面的判斷,根據(jù)判斷結(jié)果來啟用監(jiān)聽重力感應(yīng)API,代碼修改如下:
Page({ isShow: false, onShow: function () { var that = this; this.isShow = true; wx.onAccelerometerChange(function (e) { if(!that.isShow){ return } console.log(e.x) console.log(e.y) console.log(e.z) if (e.x > 1 && e.y > 1) { wx.showToast({ title: '搖一搖成功', icon: 'success', duration: 2000 }) } }) }, onHide: function(){ this.isShow = false; } })
修改以后重新編譯預(yù)覽就達到我們想要的效果了。
看完了這篇文章,相信你對“微信小程序中如何實現(xiàn)搖一搖功能”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!