這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)怎么在微信小程序中實(shí)現(xiàn)自上而下字幕滾動(dòng),文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
成都創(chuàng)新互聯(lián)公司專注于企業(yè)成都營銷網(wǎng)站建設(shè)、網(wǎng)站重做改版、高坪網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、html5、商城網(wǎng)站定制開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為高坪等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
解決方案:
第一種方法:
經(jīng)查詢,最一開始實(shí)現(xiàn)字幕滾動(dòng)是使用的微信小程序的swiper組件,后來發(fā)現(xiàn),使用swiper組件實(shí)現(xiàn)的效果類似于輪播圖,不符合需求。
{{item.checkTime}} {{item.content}}
第二種方法:
使用微信小程序的動(dòng)畫來來實(shí)現(xiàn)字幕滾動(dòng)。
思路:
1.當(dāng)list底部到container框的頂部時(shí),即,內(nèi)容全部走出了框外。結(jié)束字幕滾動(dòng),重新開始下一輪的滾動(dòng)。
2.計(jì)算container框的高度,list的高度。一個(gè)框中的內(nèi)容顯示時(shí)長為 1500(暫定),通過list的高度除以container框的高度來判斷顯示時(shí)長(求整數(shù)并加1(+1是為了顯示最后一個(gè)空白框))。
實(shí)現(xiàn):
wxml
09:08 很多人的一生,基本都是自己跟別人較勁,比如別人對(duì)自己的期待,比如把別人看得太重把自己看得太輕。其實(shí)一個(gè)人最應(yīng)該考慮的問題是,自己如何與自己相處,比如人去樓空的時(shí)候如何照顧好自己的孤獨(dú),比如夜深人靜的時(shí)候如何跟心靈溝通。自己跟自己能和諧共處,自己跟別人就能相安無事。19:08 平和是待人處事的一種態(tài)度,也是做人酌一種美德。平和既是一種修養(yǎng),又是一種工作方法。平和的人,從不被忙碌所縈繞,閑時(shí)吃緊,忙里悠閑。待人不嚴(yán),教人勿高。寬嚴(yán)得宜,分寸得體。身心自在,能享受生活之樂趣。平和的人生,是和諧的人生,健康的人生。
wxss
.container { background-color: #ccc; height:150rpx; margin: 20rpx 20rpx 20rpx 20rpx; overflow:auto; } .txt-light { color:#acadbe; }
js
Page({ /** * 頁面的初始數(shù)據(jù) */ data: { }, /** * 生命周期函數(shù)--監(jiān)聽頁面加載 */ onLoad: function (options) { }, /** * 生命周期函數(shù)--監(jiān)聽頁面初次渲染完成 */ onReady: function () { }, /** * 生命周期函數(shù)--監(jiān)聽頁面顯示 */ onShow: function () { // this.util(); this.getHeight(); }, util: function (obj) { console.log(obj); console.log(-obj.list); var continueTime = (parseInt(obj.list / obj.container) + 1) * 1500; var setIntervalTime = 50 + continueTime; var animation = wx.createAnimation({ duration: 200, //動(dòng)畫時(shí)長 timingFunction: "linear", //線性 delay: 0 //0則不延遲 }); this.animation = animation; animation.translateY(obj.container).step({ duration: 50, timingFunction: 'step-start' }).translateY(-obj.list).step({ duration: continueTime }); this.setData({ animationData: animation.export() }) setInterval(() => { animation.translateY(obj.container).step({ duration: 50, timingFunction: 'step-start' }).translateY(-obj.list).step({ duration: continueTime }); this.setData({ animationData: animation.export() }) }, setIntervalTime) // setInterval(() => { // animation.translateY(50).step({ duration: 50, timingFunction: 'step-start' }).translateY(-250).step({ duration: 5000 }); // this.setData({ // animationData: animation.export() // }) // }, 6000) }, getHeight() { var obj = new Object(); //創(chuàng)建節(jié)點(diǎn)選擇器 var query = wx.createSelectorQuery(); query.select('.container').boundingClientRect() query.select('.list').boundingClientRect() query.exec((res) => { obj.container = res[0].height; // 框的height obj.list = res[1].height; // list的height // return obj; this.util(obj); }) } })
1.框設(shè)置為禁止滑動(dòng),即
.container { overflow: hidden; }
上述就是小編為大家分享的怎么在微信小程序中實(shí)現(xiàn)自上而下字幕滾動(dòng)了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。