更逻辑的setTimeout例程

时间:2015-03-10 14:47:25

标签: javascript timeout

我创建了一个简单的read-along功能,可以在某些时候突出显示单词。到目前为止,我就是这样做的:

            setTimeout(function(){ 
           $(".page3 > p >*:contains('The')").css('background',textColor)
            }, 400);

            setTimeout(function(){ 
               $('.word').css('background',transparent)
               $(".page3 > p >*:contains('dog')").css('background',textColor)
            }, 1000);

            setTimeout(function(){ 
              $('.word').css('background',transparent)      
              $(".page3 > p >*:contains('was')").css('background',textColor)
            }, 1700);

我的问题是他们是更好的方法吗? 我不能使用循环,因为每个单词都是不同的,单词的时间也是非常不同的。

编辑:我曾考虑过使用数组。密钥可以是单词,值可以是时间(ms)。我只是不确定我怎么能这样做?它需要某种形式的循环吗?

1 个答案:

答案 0 :(得分:0)

这里有一个jsfiddle给你

JSFIDDLE

changeWord('Lorem','text',1000);

基本上它可以通过在函数中实现的setTimeout来解决,因此您不必总是一遍又一遍地编写相同的函数。

我个人建议在某些对象中添加类,并将此类用于css。 jquery css不是我的最爱:)