Javascript 如何实现这样的led动画?

Javascript 如何实现这样的led动画?,javascript,html,animation,Javascript,Html,Animation,我正在尝试用javascript构建一个led动画。Bug目前我可以得到如下结果: 动画部分: *___*___*___*___*___*___*___*___*___*___*___*___*___*___ 它每400ms显示一次,我希望它像这样切换,例如: 打开/关闭3次,然后睡眠1秒,然后再次执行此过程 *_*_*______*_*_*______*_*_*______*_*_*______*_*_*______ 使用jQuery: $'led'.fadeIn'fast'.fadeIn'f

我正在尝试用javascript构建一个led动画。Bug目前我可以得到如下结果:

动画部分:

*___*___*___*___*___*___*___*___*___*___*___*___*___*___ 它每400ms显示一次,我希望它像这样切换,例如:

打开/关闭3次,然后睡眠1秒,然后再次执行此过程

*_*_*______*_*_*______*_*_*______*_*_*______*_*_*______ 使用jQuery:

$'led'.fadeIn'fast'.fadeIn'fast'.fadeIn'fast'.delay'1000'.fadeIn'fast'.fadeIn'fast'.fadeIn'fast'.fadeIn'fast'.delay'1000';

您必须这样做:

while (true)
$('#led').fadeIn('fast').fadeOut('fast').fadeIn('fast').fadeOut('fast').delay('1000');

在浏览器崩溃时使用。。。如果需要循环此动画,请将其放入函数中,并反复调用

$(function (){
  setInterval(function(){

    $('#led').fadeIn('fast').fadeOut('fast').fadeIn('fast').fadeOut('fast').delay('1000');

  },1800);
});

更新了使其可配置:

var pattern=('*_*_*______').split('');

function showNext(lastIndex){
    var nextIndex = lastIndex+1;
    // go back to the start if we are past the end
    nextIndex = nextIndex % pattern.length;
    // do we need to do anything?
    if(pattern[lastIndex] != pattern[nextIndex]){
        //fade in or out depending on the current symbol
        if(pattern[nextIndex]=='*'){
            $('#led').fadeIn('fast');
        }else{
            $('#led').fadeOut('fast');
        }
    }
    // call this function again after a pause
    setTimeout(function(){showNext(nextIndex);},400);
}
// start the thing off
showNext(-1);

感谢您的示例。但是如何使此动画spped可配置?在您的示例中,它在一秒钟内切换2次。如果我想闪光3次。我必须将代码更改为:$'led'.fadeIn'fast'.fadeIn'fast'.fadeIn'fast'.fadeIn'fast'.fadeIn'fast'.fadeOut'fast'.delay'1000';你只需要总结一下动画时间。Fast是200毫秒,因此间隔的1800毫秒来自200+200+200+200+1000毫秒=1800。