收藏
回答

animate回调方法callback不触发

框架类型 问题类型 终端类型 微信版本 基础库版本
小程序 Bug 工具 7.0.13 2.11.2

wxml页面上有class = ‘my-animate’样式为display:none;的元素,同时也有class = ‘my-animate’样式为display:block;的元素,用this.animate方法会导致callback不触发

<view class="my-animate" style="display:none;"></view>
<view class="my-animate"></view>
        
        
this.animate('.my-animate', [
    { top: '37%', opacity: 1 },
    { top: '0%' },
], 3000,function(){
  // 不会触发
});
回答关注问题邀请回答
收藏

2 个回答

  • 淼
    2021-08-13

    用id选择器就执行了

    2021-08-13
    有用 1
    回复 1
    • 偏执狂
      偏执狂
      2023-06-14
      换成id选择器就真的执行了,不能理解
      2023-06-14
      回复
  • Cjiang
    Cjiang
    2020-06-28

    参考一下官方的代码片段:https://developers.weixin.qq.com/s/pgcpIrmR7ai3,执行完之后,是会触发回调函数的

    参考官方文档:https://developers.weixin.qq.com/miniprogram/dev/framework/view/animation.html#%E5%85%B3%E9%94%AE%E5%B8%A7%E5%8A%A8%E7%94%BB,

    基础库版本要2.9.0以上。


    2020-06-28
    有用
    回复 8
    • Cjiang
      Cjiang
      2020-06-28
      你写的第一个元素永远不会触发动画,所以回调不会触发
      2020-06-28
      回复
    • 秋枫扫落叶🍂
      秋枫扫落叶🍂
      2020-06-28回复Cjiang
      在index.wxml中,我将超链接a元素的sytle中display的值改为none,index,js中,我给this.animate('.block')添加回调方法:
      2020-06-28
      回复
    • 秋枫扫落叶🍂
      秋枫扫落叶🍂
      2020-06-28回复Cjiang
      js中的代码:
      2020-06-28
      回复
    • Cjiang
      Cjiang
      2020-06-28回复秋枫扫落叶🍂
      提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。
      2020-06-28
      回复
    • 秋枫扫落叶🍂
      秋枫扫落叶🍂
      2020-06-28
      然而回调并没有被触发。因为同一组class的元素中有一个元素被隐藏了,动画结束后导致其他元素动画效果结束后也不会触发回调。你的意思是如果这一组中有一个元素因为隐藏了没有触发动画,所以导致整组的元素在动画结束后都不触发回调方法,这个是对的吗?
      2020-06-28
      回复
    查看更多(3)
登录 后发表内容
问题标签