当前位置: 代码迷 >> 综合 >> 小程序跑马灯
  详细解决方案

小程序跑马灯

热度:70   发布时间:2024-03-07 08:56:19.0

看了很多的跑马灯都写的不太符合要求,这个跑马灯的需求是初始化从屏幕的1/2处开始,结束后第二次与上一次间隔屏幕一半的宽度,从屏幕右侧开始滑动,本文只做到初始化从屏幕的初始化从屏幕的1/2处开始,结束后第二次与上一次间隔屏幕一半的宽度,从屏幕右侧开始滑动,第三次还是从屏幕的1/2处,这个不知道怎么解决;跪求评论

1.html

<!-- css3跑马灯 --> <view style="position: relative;height:50rpx;"><view class="marquee-box"><view class="off-left marquee2" style="animation-duration:{
   {timeInterval}}s;"><view class="first-marquee">{
   {marqueeText}}</view><view class="second-marquee">{
   {marqueeText}}</view></view></view></view>

2.css

.marquee-box {position: relative;width: 100%;
}
.off-left {display: flex;text-align: right;position: absolute; left: 0;top: 0;white-space: nowrap;-webkit-animation: marqueeText 30s linear infinite;animation: marqueeText 30s linear infinite;
}
.first-marquee{padding-left: 375rpx;
}
.second-marquee{padding-left: 375rpx;//从屏幕的1/2处开始,第二条间隔屏幕1/2
}

3.js

 data={// marqueeText: '您的年利率为23.976%,基于额度激活前一工作日全国银行间同业拆借中心公布的最新1年期贷款市场报价利率(LPR)4.05% + 13.95%形成。',marqueeText: '短的跑马灯',timeInterval: 10}async onLoad() { //创建节点选择器var query = wx.createSelectorQuery();//选择idvar that = this;//计算css3跑马灯的长度query.select('.marquee2').boundingClientRect(function (rect) {// 设定每秒移动40pxlet timeSet = rect.width / 40 ; console.log('timeSet1',timeSet);that.setData({  timeInterval: timeSet});}).exec();} 

 

 

  相关解决方案