Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css转换动画不使用.appendChild_Css_Transform_Translate3d - Fatal编程技术网

Css转换动画不使用.appendChild

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转换,因为

我正在用javascript和css等制作一个游戏。 在某些移动浏览器中,角色动画速度较慢。现在它正在使用回调

用户请求瓦片,服务器查看瓦片是否空闲,服务器发送数据包移动化身

所以用户要走到那个磁贴,服务器将磁贴发送到哪里

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);

看起来这已经成功了,我还有很多工作要做,但是很好!!谢谢