1:您可能想查看var fragment = document.createDocumentFragment();
2:是的,通过 css 更快!
我认为这个 youtube 视频值得您花时间。
祝你好运
更新:2013 年 1 月 9 日
刚刚偶然发现这一点。
在 css3 中有一个使用步骤的动画功能。
基本上,您创建一个精灵(在画布中),然后使用 css3 使用元素上的背景属性为精灵设置动画。非常酷(并且应该使用优化的浏览器自己的代码来执行此操作,因此不会像使用 javascript/canvas 那样加载用户 cpu)。
然而,它仍然没有创建动画 gif(但我认为即使使用库也应该是可能的,因为 gif 和 pnp 非常相似,然后使用data:image/gif
协议提供该 gif),但最终结果在(现代)浏览器。
HTML:
<div class="hi"></div>
或<img src="transparent.gif" class="hi">
CSS3:
.hi { 宽度:50px; 高度:72px;背景图像:url(“http://files.simurai.com/misc/sprite.png”);
-webkit-animation: play 1s steps(10) infinite;
-moz-animation: play 1s steps(10) infinite;
-ms-animation: play 1s steps(10) infinite;
-o-animation: play 1s steps(10) infinite;
animation: play 1s steps(10) infinite; }
@-webkit-keyframes 播放 { from { background-position: 0px; } 到 { 背景位置:-500px; } }
@-moz-keyframes 播放 { from { background-position: 0px; } 到 { 背景位置:-500px; } }
@-ms-keyframes 播放 { from { background-position: 0px; } 到 { 背景位置:-500px; } }
@-o-keyframes 播放 { from { background-position: 0px; } 到 { 背景位置:-500px; } }
@keyframes 播放 { from { background-position: 0px; } 到 { 背景位置:-500px; } }
示例jsfiddle。