为什么我的动画做了我没有预料到的事情?
Why is my animation doing what I don't expect?
我正在尝试用CSS和jQuery制作卡片动画。
我在窗口的底部放置了一张卡片的.png图像,我希望它通过旋转和移动到屏幕的顶部来响应单击事件。虽然纸牌会这样做,但动画结束时它不会停留在x,y坐标上。它会在屏幕底部重新定位。
- 为什么? 我这么做是不是太蠢了?
@-webkit-keyframes deal {
from {
}
to {
left: 0px;
top: 0px;
-webkit-transform: rotate(720deg);
}
}
img {
position: absolute;}
.card {
position: absolute;
-webkit-animation: deal .2s 1 ;
-webkit-animation-play-state: running;
-webkit-animation-timing-function: cubic-bezier(.1,.35,.1,.85);
}
<img class='' id='card' src='img/b2fv.png' />
function placeElements(){
var wh = $(window).height();
var ww = $(window).width();
var ch = $('#card').height();
var cw = $('#card').width();
var cx = (ww - cw)/2;
var cy = (wh - ch);
$('#card').css('left',cx);
$('#card').css('top',cy);
}
$(document).ready(function(){
placeElements();
$(window).resize(function () {
placeElements()
});
$("#card").on('click', function(){
$(this).attr('class','card');
});
});
您也可以通过使用transition
属性
#card.card {
left: 10px;
top: 0px;
-webkit-transform: rotate(720deg);
}
#card {
-webkit-transition: all 5s;
position:absolute;
}
您需要设置动画的填充模式为forwards
。这样做将使动画元素在动画完成后保持其最后一个关键帧的位置。
From this MDN Link
填充方式:forward
目标将保留执行期间遇到的最后一个关键帧设置的计算值。最后遇到的关键帧取决于animation-direction和animation-iteration-count
的值。
.card {
position: absolute;
-webkit-animation: deal .2s 1 ;
-webkit-animation-play-state: running;
-webkit-animation-timing-function: cubic-bezier(.1,.35,.1,.85);
-webkit-animation-fill-mode: forwards; /* Add this and also the corresponding browser specific versions */
}
相关文章:
- 我的动画没有按预期工作
- 为什么我的脚本正在运行动画,但没有显示它
- 为什么动画完成后我的元素不再隐藏
- 我需要在javascript if语句中使用jquery来动画元素的颜色
- 如何为我的菜单创建平滑的动画
- 使用动画gif作为我的网站's的最爱
- JQuery动画完整功能:如何恢复我的"老这个”;
- Javascript:为什么我的Raphaeljs动画滞后?它'It’s甚至不一致
- 动画不透明度弄乱了我的文本
- 如何将 jquery 动画应用于我的弹出窗口
- 如何在 javascript 中减慢我的精灵表动画
- 只有当我使用 vivus.js 到达底部时,我的 svg 动画才会开始
- Javascript:为什么我的JavaScript不运行这两个动画
- 尝试向我的 jquery 幻灯片添加额外的标题动画
- 为什么当我对其父元素进行动画处理时,我的 UL 消失了
- CreateJS - 无法让我的精灵表动画化
- 如何正确从另一个对象获取属性?尝试为我的拉斐尔动画创建工具提示
- 我希望我的动画在屏幕上水平移动,并在按下停止按钮后停止
- 为什么我的jQuery UI动画会发生这种情况
- JS动画-我的语法有问题