使用JS后台刷新数据后如何重新执行CSS animation?
清歌浊酒 2016-12-09 07:36:21 快到春节了,单位要开联欢会,准备弄个微信摇一摇上墙,现在被困到动画这里,我的设计是后台刷新后,在主页面显示所有签到的人微信小头像,这步已经实现了。同时在屏幕中间显示大头像,移动到小头像位置,这个过程中头像旋转缩小,这段也写完了,现在的难点是,页面第一次载入时都正常,然后开始后台刷新数据,新签到的人小头像正常显示,但是不能重复执行动画。
CSS代码:
.vewimg{ width: 302px; height: 302px; padding: 1px; border: 1px solid #ccc; position: absolute;z-index: 12; top: 400px; left: 900px; }
.imgAnimation{
animation-name: imgAnimation;
-webkit-animation: imgAnimation 1s alternate;
-webkit-animation-delay:1s;
-webkit-animation-fill-mode:both;
}
@-webkit-keyframes imgAnimation{
0%{ left: 900px;top: 400px;}
100%{ left: 350px;top:190px; width:0px;height:0px;}
0%,
100% {
-webkit-transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
}
}
JS代码:
<script>
function update() {
$.getJSON("json.asp", function(data) {
img=data.b.split(",");
document.getElementById('ydimg').src = data.a;
$("#zfnr").text(data.c);
//zs=data.a;
for (i=0;i<img.length ;i++ )
{
document.getElementById('imgInit['+i+']').src = img[i];
}
//var dom = document.getElementById('vewimg');
// dom.className = 'vewimg';
// dom.className = 'vewimg imgAnimation';
});
};
setInterval(update, 1000);
update();
</script>
htm代码:
<div class="vewimg imgAnimation" id="vewimg"><img src="?" width="300" id="ydimg"></div>
以下是我想实现动画重写的代码
//var dom = document.getElementById('vewimg');
// dom.className = 'vewimg';
// dom.className = 'vewimg imgAnimation';
前两行可以正常执行,第三行就不行了,新的头像在页面中间不动。请各路大神指点,就差最后这一步工程就可以结束了了!!!