玩一个又一个精灵表
Playing one sprite sheet after another
嘿,我有这个精灵表http://codepen.io/benasl/pen/yabpxo,我想在它结束后改为另一个,在第二个结束后,第一个需要重新开始,等等…我对jquery了解不多,无法实现这种效果。最好的方法是什么?
body {
background-color: #69e4c3;
}
.kambarys {
background: url('http://i.imgur.com/pra08AS.jpg');
background-repeat: no-repeat;
position: relative;
display: inline-block;
width: 380px;
height: 372px;
top: 100px;
left: 40%;
animation: convejor 3s steps(76) infinite;
}
@keyframes convejor {
from { background-position: 0px; }
to { background-position: -28880px; }
}
<div class="kambarys kambarys-1"></div>
用纯CSS实现这个特性是相当复杂的,因为你想要创建两个动画的循环。
相反,我建议使用Javascript
+ CSS
。所以你可以把它们组合起来对你的动画有更多的控制
看一下这个jsfiddle
$(document).ready(function() {
setInterval(function(){
$('.kambarys').toggleClass('second');
},3000);
});
body {
background-color: #69e4c3;
}
.kambarys {
background-image: url('https://i.imgsafe.org/a37470f198.jpg');
background-repeat: no-repeat;
position: relative;
display: inline-block;
width: 380px;
height: 372px;
top: 100px;
left: 40%;
animation: convejor 3s steps(76) infinite;
}
.kambarys.second {
background-image: url('http://blog.teamtreehouse.com/wp-content/uploads/2014/07/monster.png');
animation: convejor2 3s steps(10) infinite;
width: 190px;
}
@keyframes convejor {
from { background-position: 0px;}
to { background-position: -28880px;}
}
@keyframes convejor2 {
from { background-position: 0px;}
to {background-position: -1900px;}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="kambarys"></div>
相关文章:
- jQuery使一个又一个充满活力
- RaphaelJS:如何制作一个又一个元素的动画
- 如何运行一个又一个脚本
- 使用 jQuery animate 时绘制一个又一个对象的线条
- 为什么当我调用一个又一个函数时,它调用的都是以前的
- 在 JavaScript 中延迟一个又一个函数的最佳方法
- 在 Ajax 加载的外部 html 中调用一个又一个脚本的事件
- JavaScript:一个又一个循环不执行
- 如何在Javascript中以过程化的方式运行一个又一个语句
- $('html').单击一个又一个单击事件
- WebGL-呈现一个又一个形状时出现问题
- 如何化解一个又一个的承诺
- 如何使用
- JavaScript Regex(替换),如果缺少一个又一个单词
- 用buzz.js播放一个又一个声音
- 从URL运行一个又一个函数
- 如何启动一个又一个脚本
- 玩一个又一个精灵表
- 如何在D3.js中运行一个又一个函数
- PhantomJS打开一个又一个页面