因此,我试图简化我的脚本,使其不必使用带有 setintervals 和 clearintervals 的多个函数,而只有一个可以同时运行的函数,就好像它是一堆不同的函数一样,比如一个数组,所以文件不是那么大。这是脚本的示例http://test.719records.com/test/test.html(页面以 1080P 或更高的分辨率查看),这里是整个脚本 http://test。 719records.com/test/jquery.solari.letters.js
这是我希望最终被迭代的脚本的摘录。
//randomize name1 li:1 frames
//until correct character is landed on
var randlet = 0;
function randomizerlet1_1() {
randlet = Math.floor(Math.random() * 156);
timesletrun[0] += 1;
if (masterlet[randlet] == letter[0]) {
$('#flipL1_1').css('background-position', masterlet[randlet]);
clearInterval(intervallet1_1);
} else {
if (timesletrun[0] == 300) {
masterlet[randlet] = letter[0];
$('#flipL1_1').css('background-position', masterlet[randlet]);
clearInterval(intervallet1_1);
} else {
$('#flipL1_1').css('background-position', masterlet[randlet]);
}
}
}
var intervallet1_1 = setInterval(function() {
randomizerlet1_1();
}, 10);
这将是序列中的第二个字母:
//randomize name1 li:2 frames
//until correct character is landed on
function randomizerlet1_2() {
randlet = Math.floor(Math.random() * 156);
timesletrun[1] += 1;
if (masterlet[randlet] == letter[1]) {
$('#flipL1_2').css('background-position', masterlet[randlet]);
clearInterval(intervallet1_2);
} else {
if (timesletrun[1] == 300) {
masterlet[randlet] = letter[1];
$('#flipL1_2').css('background-position', masterlet[randlet]);
clearInterval(intervallet1_2);
} else {
$('#flipL1_2').css('background-position', masterlet[randlet]);
}
}
}
var intervallet1_2 = setInterval(function() {
randomizerlet1_2();
}, 10);
现在总共有 38 个运行 1 行,最终将有 28 行。很抱歉,我的知识不是专家级的,我还在学习,所以这可能很容易,也可能不是,但如果可能的话,我需要将这些简化为一个迭代函数。也许使用多维数组和函数参数?我不确定这段代码的外观。
如果这可以简化,我将为它创建一个教程并将其包装到一个免费的 3rd 方插件中,供人们在他们自己的个人项目中使用!