Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 更具逻辑性的setTimeout例程_Javascript_Timeout - Fatal编程技术网

Javascript 更具逻辑性的setTimeout例程

Javascript 更具逻辑性的setTimeout例程,javascript,timeout,Javascript,Timeout,我创建了一个简单的随读功能,在特定时间突出显示单词。到目前为止,我就是这样做的: setTimeout(function(){ $(".page3 > p >*:contains('The')").css('background',textColor) }, 400); setTimeout(function(){ $('.word').css('back

我创建了一个简单的随读功能,在特定时间突出显示单词。到目前为止,我就是这样做的:

            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)。我只是不知道我怎么能做到?它需要某种形式的循环吗?

这是一个JSFIDLE

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


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

你有JSFIDDLE吗?我没有。你有什么需要我更详细地解释的吗?你的代码有效吗?如果可以的话,我们可以看看。我想用空格分割字符串,但我不知道你做了什么你可以稍微简化一下,但不能太多。我会把重复的部分变成独立的函数,也许会把浮动函数压缩成对象成员,但是你仍然需要每个规范的function(){}开销和setTimeout interval。它确实可以工作,但它是一个庞大的项目(JS中大约有3000行代码),所以很难分离出来,放到JS中。基本上,页面上的每个单词都是不同的跨度,每个单词都有“word”类。这些超时只需点击一个按钮,单词就会开始高亮显示。(因此我使用“contains”来定位每个单词)。如果你需要更多细节,请告诉我
changeWord('Lorem','text',1000);