0

我有这个按预期工作的代码。请注意,第一个动画的持续时间为 0。

$(".myClass").animate({'top': '-=100%'}, 0).animate({top: '+=100%'}, 500);

基本上,如果禁用了 javascript,我想放置一个具有正确定位的 myClass 类的元素。如果启用了 javascript,我将首先使元素在容器外部开始并将其带入其原始位置。我尝试使用此代码。

$(".myClass").css({'top': '-=100%'}).animate({top: '+=100%'}, 500);

我原以为这两个会做同样的事情,但是 .css 方法的作用不同。就好像在使用百分比时,.css 的 -=100% 表示元素高度的 -100%,而 .animate 表示元素容器高度的 -100%。

这应该以这种方式工作还是我做错了什么。可根据要求提供更多代码。

4

2 回答 2

3

它应该以这种方式工作,AFAIK。CSS 属性不使用 += 和 -= 运算符,因为它设置了一个硬值,而不是接近或计算一个值(如动画)。

于 2013-07-15T18:42:56.873 回答
0

我们只能在 animate() 中将 +=,-= 用于相对动画,而 css() 不允许这样做。所以这对你不起作用

于 2018-09-18T17:30:46.440 回答