收藏
回答

能否在 wxss 中获取随机数?

我想实现一个动画,元素可以随机向周围浮动:

@keyframes floatAnim {

  0%   { transform: translate(0, 0); }

  50%  { transform: translate(

           calc(100vw * -0.05 + 100vw * 0.1) * random(),

           calc(100vh * -0.05 + 100vh * 0.1) * random()

         );

       }

  100% { transform: translate(0, 0); }

}

我知道 wxss 中不存在这样的 random() 函数,是否有其他方式实现?

回答关注问题邀请回答
收藏

4 个回答

  • 你是人间四月天
    你是人间四月天
    2023-03-30

    可以通过变量的改变, 来控制class的改变, 从而用不同的class承载不同的时间.

    2023-03-30
    有用 1
    回复 1
    • 大湘菜
      大湘菜
      2023-03-30
      听不太懂呀,要用到js吗
      2023-03-30
      回复
  • 微盟
    微盟
    2023-04-23

    CSS 中不存在这个能力。需要使用 JS 实现。

    :host{
    --translate-value-1: 1px;
    --translate-value-2: 2px;
    }
    
    @keyframes floatAnim {
      0%   { transformtranslate(00); }
      50%  { transformtranslate(
               var(--translate-value-1),
               var(--translate-value-2)
             );
           }
      100% { transformtranslate(00); }
    }
    


    然后在 JS 中给,通过给 wxml 上的 style 设置值,就能控制这两个变量。


    2023-04-23
    有用
    回复
  • 那一抹笑😃 穿透阳光
    那一抹笑😃 穿透阳光
    2023-03-31

    用api实现

    2023-03-31
    有用
    回复
  • 睡前原谅一切
    睡前原谅一切
    2023-03-30

    wxs里支持setStyle

    2023-03-30
    有用
    回复 1
    • 大湘菜
      大湘菜
      2023-03-30
      能详细说说吗
      2023-03-30
      回复
登录 后发表内容