這期內容當中小編將會給大家帶來有關怎么在微信小程序中實現自上而下字幕滾動,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
解決方案:
第一種方法:
經查詢,最一開始實現字幕滾動是使用的微信小程序的swiper組件,后來發現,使用swiper組件實現的效果類似于輪播圖,不符合需求。
<swiper class="swiper_container" vertical="true" autoplay="true" circular="true" interval="2000">
<view class='list'>
<view wx:for="{{List}}" wx:key="index">
<swiper-item>
<text class='txt-light'>{{item.checkTime}}</text> {{item.content}}
</swiper-item>
</view>
</view>
</swiper>第二種方法:
使用微信小程序的動畫來來實現字幕滾動。
思路:
1.當list底部到container框的頂部時,即,內容全部走出了框外。結束字幕滾動,重新開始下一輪的滾動。
2.計算container框的高度,list的高度。一個框中的內容顯示時長為 1500(暫定),通過list的高度除以container框的高度來判斷顯示時長(求整數并加1(+1是為了顯示最后一個空白框))。
實現:
wxml
<view class="container">
<view class='list' animation="{{animationData}}">
<view>
<text class="txt-light">09:08</text> 很多人的一生,基本都是自己跟別人較勁,比如別人對自己的期待,比如把別人看得太重把自己看得太輕。其實一個人最應該考慮的問題是,自己如何與自己相處,比如人去樓空的時候如何照顧好自己的孤獨,比如夜深人靜的時候如何跟心靈溝通。自己跟自己能和諧共處,自己跟別人就能相安無事。
</view>
<view>
<text class="txt-light">19:08</text> 平和是待人處事的一種態度,也是做人酌一種美德。平和既是一種修養,又是一種工作方法。平和的人,從不被忙碌所縈繞,閑時吃緊,忙里悠閑。待人不嚴,教人勿高。寬嚴得宜,分寸得體。身心自在,能享受生活之樂趣。平和的人生,是和諧的人生,健康的人生。
</view>
</view>
</view>wxss
.container {
background-color: #ccc;
height:150rpx;
margin: 20rpx 20rpx 20rpx 20rpx;
overflow:auto;
}
.txt-light {
color:#acadbe;
}js
Page({
/**
* 頁面的初始數據
*/
data: {
},
/**
* 生命周期函數--監聽頁面加載
*/
onLoad: function (options) {
},
/**
* 生命周期函數--監聽頁面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函數--監聽頁面顯示
*/
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, //動畫時長
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();
//創建節點選擇器
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.框設置為禁止滑動,即
.container {
overflow: hidden;
}上述就是小編為大家分享的怎么在微信小程序中實現自上而下字幕滾動了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。