【发布时间】:2017-12-25 23:52:40
【问题描述】:
我正在尝试制作一个小动画,但我未能使其响应,因为“calc()”似乎不适用于 .animate。 这里有其他解决方案吗?
if (time == 1) {
$("#message").animate({ marginTop: "calc(-15px + .8vw)" });
} else {
$("#message").animate({ marginTop: "calc(0px + .8vw)" });
}
致以最诚挚的问候, 贝尔纳多
编辑:我正在尝试对出现在我的网站 onchange() 下拉菜单上的消息进行动画处理。 它应该是响应式的,这就是我使用 calc() 的原因。
<a>Time: </a><select id="time" onchange="setTime()" name="time" required>
<option value="1" selected>-</option>
<option value="3">-</option>
</select></br>
那么有没有一种替代方法可以让它在没有 calc() 的情况下以另一种方式响应?
【问题讨论】:
-
jQuery 不理解
calc(),它只理解数字 -
不,
calc()不适用于animate(),但是我确信无论您尝试做什么,都有另一种方法。您能否更新问题以详细说明您要达到的效果。 -
像你想要的那样设置 calc() 是行不通的。最简单的方法是将其值“计算”到变量中。
-
可以使用 CSS 变量和 jq-cssvar 和 CSS 过渡(通过 JQuery 代替动画)
-
哦,对了,@VilleKoo 这可能是一个很好的解决方案,我会试试的!向大家致意,感谢您的宝贵时间。
标签: jquery css jquery-animate css-calc