Coffeescript 迭代页面上的单词数组?
我想要在页面上迭代一系列单词,使现有单词轮换出来,并轮换新单词。
我正在使用 animate.css 通过添加和删除类来处理动画。
初始 div 上有一个入口类 .rotateIn
,因此在页面渲染时会产生动画。它还具有一个 .animated
类,该类必须存在才能触发动画。
延迟两秒后,我添加退出动画类 .rotateOut
,然后删除入口类,然后触发退出动画。此时div就被隐藏了。
我更改文本,然后添加入口类,然后删除出口类,触发入口动画。
一旦我击中数组中的最后一个单词,该函数就会停止。
在咖啡脚本中编写此内容以便我可以调整入口和出口之间的时间的最佳方法是什么?
编辑:这是一些基本的 JavaScript 代码,显示了我正在尝试执行的操作。我想重写这个,以便我可以设置一个单词数组 ['foo', 'bar']
而不是下面脆弱的 PITA 方式。
var $adj = $('#adjectives');
setTimeout(function() {
$adj.addClass('rotateOut');
setTimeout(function() {
$adj.removeClass('rotateIn');
setTimeout(function() {
$adj.text('foo');
$adj.addClass('rotateIn');
setTimeout(function() {
$adj.removeClass('rotateOut');
setTimeout(function() {
$adj.addClass('rotateOut');
setTimeout(function() {
$adj.removeClass('rotateIn');
setTimeout(function() {
$adj.text('bar');
$adj.addClass('rotateIn');
}, 1000);
}, 1000);
}, 1000);
}, 1000);
}, 1000);
}, 1000);
}, 1000);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您应该尝试使用触发相同回调的时间间隔,直到到达末尾,而不是每次都设置超时。看一下这个示例,然后添加额外的动画位。
为了清楚起见,这里是编译后的 JS
Rather than setting a timeout each time, you should try using an interval that fires the same callback until you've reached the end. Take a look at this example, then add in your extra bits for animating.
Just for clarity's sake, here is the compiled JS