【问题标题】:Set value for animation-delay设置动画延迟的值
【发布时间】:2015-09-10 14:51:17
【问题描述】:

是否可以将 CSS 属性 animation-delay 内嵌到 HTML 代码中设置动态值。像这样的:

 <u>
    <li data-ng-repeat="item in items" style="animation-delay: item.id/10 + 's'">
    </li>
 </ul>

【问题讨论】:

    标签: javascript jquery css angularjs animation


    【解决方案1】:

    您不能在 html 代码中使用 javascript 变量。你应该使用 jQuery .css 来设置这个样式属性值

    HTML:

        <u>
            <li id="animLi" data-ng-repeat="item in items"></li>
        </ul>
    

    JS:

        $("#animLi").css( "animation-delay", item.id/10 + 's' );
    

    请注意,您可能会在 web-kit 浏览器中遇到上述问题。比较:jQuery $.css() function not interpreting "animation-delay" properly (in webkit browsers!)

    【讨论】:

      【解决方案2】:
      <ul>
        <li data-ng-repeat="item in items" style="animation-delay: {{item.id/10}}s"></li>
      </ul>
      

      【讨论】:

      • 不幸的是,它不起作用。每次尝试使用值(变量)设置属性“动画延迟”时都会遇到问题。它只接受硬编码的字符串
      • 为我找到了一个可行的解决方案:尝试添加到您的 ng-repeat "track by $index" 并替换为“item.id”以进行调试。如果没有给出错误,则问题位于项目 ID 旁边。确保它始终为!== nulltypeof "number"。要检查 'item.id' 呈现的内容,请尝试在
      • DOM 元素中添加 {{item.id}} 并查看实际值。
      猜你喜欢
      相关资源
      最近更新 更多
      热门标签