当前位置: 首页 > 面试题库 >

使用Javascript变量设置Webkit关键帧值

姜烨伟
2023-03-14
问题内容

我有一段JS代码来生成随机数,并将它们输出为变量,以代替旋转值在此使用

@-webkit-keyframes rotate {
    0% {-webkit-transform: rotate(-10deg);}
    100% {-webkit-transform: rotate(10deg);}
}

#dog{
/*irrelevant settings*/
-webkit-animation: rotate 5s infinite alternate ease-in-out;
}

上面的代码工作正常,但是当我尝试将javascript中的变量粘贴进去时,rotate(variable);我无法正常工作。我是新来的人,所以我90%肯定我只是没有正确了解该变量的语法(严重的是,我很难记住某些内容是否需要方括号,引号,波浪状等,我已经尽力了。)

或可能是因为变量是函数的局部变量,而CSS无法读取该变量。

因此,基本上,我只需要一个陌生人来告诉我正确的语法,以及在可能的情况下如何使CSS读取变量。

否则,看起来我将需要该函数来创建以下内容的整体:

@-webkit-keyframes rotate {
    0% {-webkit-transform: rotate(-10deg);}
    100% {-webkit-transform: rotate(10deg);}
}

…这可能有点混乱,因为随机变量可能会应用于多个CSS元素。

哦,当前该变量的格式设置为deg在数字之后包含,因此这不是问题。实际上,为简便起见,假设我使用的是var dogValue =“ 20deg”;
忘记随机元素。

谢谢。


问题答案:

好的,不是您的实际代码是什么样子,但是您不能将JavaScript变量放入CSS中,它无法识别它们。

相反,您需要通过JavaScript创建CSS规则,然后将其插入CSSOM(CSS对象模型)。这可以通过几种方式完成-
您可以创建关键帧动画并将其添加到其中,也可以覆盖现有动画。出于这个问题的考虑,我将假设您要不断覆盖具有不同旋转值的现有关键帧动画。

它从运行-10-> 10度旋转动画开始,但是您可以单击按钮以使其在随机值之间(-360至360度之间)执行旋转。

我已将文档添加到我从他那里拿来的SimonHausmann脚本的各个部分中(尽管我对其进行了一些修改)。我还使用jQuery只是将click事件附加到我的按钮上-所有其他脚本都是用本机JavaScript编写的。

我已经针对Chrome 18和Safari 5.1测试了此功能,并且在两种浏览器中都可以正常工作。

希望这可以帮助。



 类似资料:
  • 问题内容: 有没有办法用JavaScript 设置Webkit关键帧的或? 问题答案: 各种解决方案: 只需向标题添加样式定义。如果可能的话,通过DOM定义会更干净/更好。 编辑:使用旧方法的Chrome中出现错误

  • 我在JavaScript中构建一些对象,并将这些对象推送到一个数组中,我将要使用的键存储在一个变量中,然后创建我的对象,如下所示: 但是,当我尝试检查每个对象的对象数组时,键是“key”,而不是变量键的值。有没有办法从变量中设置键的值? 为了更好地解释,请拨弄:http://jsfiddle.net/Fr6eY/3/

  • 问题内容: 我正在用JavaScript构建一些对象并将这些对象推入数组,将要使用的键存储在变量中,然后像这样创建对象: 但是,当我尝试检查每个对象的对象数组时,键不是变量键的值。有什么方法可以通过变量设置键的值吗? 问题答案: 您需要先制作对象,然后使用来设置它。 如果您能够使用 ES6 和 Babel ,则可以使用此新功能:

  • 问题内容: 我正在使用Thymeleaf作为模板引擎。如何将变量从Spring模型传递给JavaScript变量? Spring-side: Client-side: 问题答案: 根据官方文件:

  • 问题内容: 是否可以使用Javascript设置PHP会话变量? 问题答案: 在JavaScript中: 在session_write.php文件中: 在HTML中:

  • 我正在使用Thymeleaf作为模板引擎。我如何将一个变量从Spring模型传递到JavaScript变量? Spring侧: