微信小程序文字上下滚动动画效果

 页面

<view class='gold_tip container'>

<view class='list' animation="{{animationData}}">

<view wx:for="{{topList}}" wx:key="{{index}}">

<text>{{item.msg}}</text>

</view>

</view>

</view>

 

样式

.gold_tip{

width:100%;

height:30px;

line-height:30px;

background-color: #FFCB0B;

overflow: hidden;

}

.gold_tip view{

height: 52rpx;

line-height: 52rpx;

color: #fff;

font-size: 28rpx;

text-align: center;

}

 

js

onshow:function(){

  let that =this

 that.getHeight();

}  ,

//最上方提示文字上下滚动

util: function (obj) {

// console.log(obj);

//console.log(-obj.list);

var continueTime = (parseInt(obj.list / obj.container) + 1) * 2500;

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:function() {

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
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值