本文實例為大家分享了微信小程序scroll-view實現字幕滾動的具體代碼,供大家參考,具體內容如下
需求:
實現框內的文字自下而上的自動循環滾動。
解決方案:
通過控制滑動條來完成字幕滾動,通過setinterval完成字幕循環滾動。
wxml:
<scroll-view class="container" scroll-y="true" bindscroll="scroll" scroll-top="{{scrollTop}}"> <view class='list'> <view class='blank'></view> <view> <text class="txt-light">09:08</text> 很多人的一生,基本都是自己跟別人較勁,比如別人對自己的期待,比如把別人看得太重把自己看得太輕。其實一個人最應該考慮的問題是,自己如何與自己相處,比如人去樓空的時候如何照顧好自己的孤獨,比如夜深人靜的時候如何跟心靈溝通。自己跟自己能和諧共處,自己跟別人就能相安無事。 </view> <view> <text class="txt-light">19:08</text> 平和是待人處事的一種態度,也是做人酌一種美德。平和既是一種修養,又是一種工作方法。平和的人,從不被忙碌所縈繞,閑時吃緊,忙里悠閑。待人不嚴,教人勿高。寬嚴得宜,分寸得體。身心自在,能享受生活之樂趣。平和的人生,是和諧的人生,健康的人生。 </view> <view class='blank'></view> </view></scroll-view>
wxss:
.container { background-color: #FAEBD7; height: 150rpx;} .txt-light { color: #acadbe;} .blank { height: 150rpx;}
js
Page({ /** * 頁面的初始數據 */ data: { scrollTop:0 }, /** * 生命周期函數--監聽頁面加載 */ onLoad: function (options) { }, /** * 生命周期函數--監聽頁面初次渲染完成 */ onReady: function () { }, /** * 生命周期函數--監聽頁面顯示 */ onShow: function () { // 獲取scroll-view的節點信息 //創建節點選擇器 var query = wx.createSelectorQuery(); query.select('.container').boundingClientRect() query.select('.list').boundingClientRect() query.exec((res) => { var containerHeight = res[0].height; var listHeight = res[1].height; // 滾動條的高度增加 var interval = setInterval(() => { if (this.data.scrollTop < listHeight - containerHeight) { this.setData({ scrollTop: this.data.scrollTop + 10 }) } else { // clearInterval(interval); this.setData({ scrollTop: 0 }) } }, 1000) }) }, scroll: function () { // 獲取scroll-view的節點信息 //創建節點選擇器 var query = wx.createSelectorQuery(); query.select('.list').boundingClientRect() query.exec((res) => { this.setData({ scrollTop: -(res[0].top) }) // console.log(res); }) }})
tips:此次字幕滾動,即可自動滾動,也可拖動。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答