为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用requestAnimationFrame实现降价效果?

如何使用requestAnimationFrame实现降价效果?

墨色风雨 2019-03-21 22:15:45
<span class="price" data-price="123.59" data-starttime="1509809876">123.59</span><span class="price" data-price="255.76" data-starttime="1509810123">255.76</span>列表页面中有多个类似以上形式的的,每秒降价0.1元,那么span内的数字就不断的变小,目前遇到的问题是每次只能实现第一条价格会动起来,后面的都不动,另外一个困扰是,我使用了settimeout来不断获取当前时间和data-starttime判断降价时间是否开始了,导致requestAnimationFrame的动画平率越来越快求大神指点
查看完整描述

1 回答

?
达令说

TA贡献1821条经验 获得超6个赞

不解,这种DOM操作,更新频率不大,一般用不到requestAnimationFrame,直接通过setInterval(func, 1000)不可以吗?

针对只有第一条价格会动,可能是DOM查询的不对。

用jq的话,大概代码如下:

setInterval(function() {

    var time = new Date().getTime()

    $('.price').each(function() {

        if(time > $(this).attr('data-starttime')) {

             $(this).text(parseInt($(this).text()) - 0.1);

        }

    })

}, 1000)


查看完整回答
反对 回复 2019-04-09
  • 1 回答
  • 0 关注
  • 365 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信