使用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';

前两行可以正常执行,第三行就不行了,新的头像在页面中间不动。请各路大神指点,就差最后这一步工程就可以结束了了!!!

...全文
497 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
清歌浊酒 2016-12-10
  • 打赏
  • 举报
回复
引用 1 楼 functionsub 的回复:
var dom = document.getElementById('vewimg');
dom.className = 'vewimg';
setTimeout(function(){
  dom.className = 'vewimg imgAnimation';
},0)
加上这段后,如果没有新人签到,最后一人的动画反复播放,加了判断语句就好了,谢谢!!!
functionsub 2016-12-09
  • 打赏
  • 举报
回复
var dom = document.getElementById('vewimg');
dom.className = 'vewimg';
setTimeout(function(){
  dom.className = 'vewimg imgAnimation';
},0)

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧