You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用jQuery.Keyframes时如何将变量值应用到关键帧动画属性配置

变量动态赋值的正确写法

如果你的bigSlide.width是不带单位的数值类型,直接拼接对应单位生成合法的CSS字符串即可:

$.keyframe.define([{
  name: 'slidein',
  from: {'margin-left': '100%'},
  // 若变量本身就是带单位的字符串(比如"630px"),直接写变量即可,不用额外拼接
  to: {'margin-left': bigSlide.width + 'px'} 
}]);

如果需要在值中引入变量计算,可以用模板字符串拼接:

// 示例:margin-left值为 bigSlide.width + 100px 的总和
to: {'margin-left': `${bigSlide.width + 100}px`}

calc语法的正确写法

你之前的calc写法失效是因为不符合CSS规范:calc的运算符前后必须加空格,同时要把整段calc表达式包裹为字符串,避免被JS识别为原生方法调用:

// 固定值calc写法
to: {'margin-left': 'calc(100px + 630px)'}

// 带变量的calc写法
to: {'margin-left': `calc(100vw - ${bigSlide.width}px)`}

之前写法的错误原因

  • 把变量放在引号内部,会被识别为纯文本,不会解析对应的变量值
  • calc运算符前后未加空格,浏览器无法识别该CSS语法
  • 未把calc表达式整体包裹为字符串,JS会尝试调用不存在的全局calc方法直接报错
  • 数值类型变量未拼接单位,生成的CSS值不合法,无法被动画识别

内容的提问来源于stack exchange,提问作者Ross Symonds

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 17:06:03