Css转换动画不使用.appendChild
我正在用javascript和css等制作一个游戏。 在某些移动浏览器中,角色动画速度较慢。现在它正在使用回调 用户请求瓦片,服务器查看瓦片是否空闲,服务器发送数据包移动化身 所以用户要走到那个磁贴,服务器将磁贴发送到哪里Css转换动画不使用.appendChild,css,transform,translate3d,Css,Transform,Translate3d,我正在用javascript和css等制作一个游戏。 在某些移动浏览器中,角色动画速度较慢。现在它正在使用回调 用户请求瓦片,服务器查看瓦片是否空闲,服务器发送数据包移动化身 所以用户要走到那个磁贴,服务器将磁贴发送到哪里 var movecallback = avatars.moved(id); movelayer('ava_'+id, ava_x, ava_y, 25, 20, 1, movecallback); 在使用movecallback函数之前,我将其删除,并使用CSS3转换,因为
var movecallback = avatars.moved(id);
movelayer('ava_'+id, ava_x, ava_y, 25, 20, 1, movecallback);
在使用movecallback
函数之前,我将其删除,并使用CSS3转换,因为这样更平滑
看到这个了吗
$("ava_"+id).style.transform = 'translate3d('+ava_x+'px, '+ava_y+'px,0)';
$("ava_"+id).style.OTransform = 'translate3d('+ava_x+'px, '+ava_y+'px,0)'; // Opera
$("ava_"+id).style.msTransform = 'translate3d('+ava_x+'px, '+ava_y+'px,0)'; // IE 9
$("ava_"+id).style.MozTransform = 'translate3d('+ava_x+'px, '+ava_y+'px,0)'; // Firefox
$("ava_"+id).style.WebkitTransform = 'translate3d('+ava_x+'px, '+ava_y+'px,0)';
关于css,我有这样一个:
-webkit-transition: -webkit-transform 1s ease-in-out;
transition: -webkit-transform 1s ease-in-out;
这是非常好的工作,但不是在游戏中,在游戏中,用户将使用此函数转到另一个div$(“tile”+tile”)代码>
那么,当您将div附加到另一个时,css转换被删除了?如何修复此问题?我认为这是浏览器优化的副作用。
您可以使用非常短的超时来避免它,如
因此,对于您的情况,请尝试以下方法:
$("tile"+tile).appendChild($("ava_"+id));
setTimeout(function(){
$("ava_"+id).style.transform = 'translate3d('+ava_x+'px, '+ava_y+'px,0)';
}, 1);
看起来这已经成功了,我还有很多工作要做,但是很好!!谢谢