**更新:
jsfiddle.net/terra823/WA6sX
我基本上希望获取文本输入并将INPUT文本与名为magic_words的数组进行比较。如果匹配,请将屏幕变为蓝色,如果匹配则将屏幕变为绿色。到目前为止,当我有一个匹配时,它会将屏幕变为蓝色,但在初始匹配后似乎还没有继续比较。如果有人知道更好的方式来编写函数 - 也许用正则表达式 - 我非常感谢帮助!
** LEGACY POST:
我正在研究一些Javascript代码,它采用用户输入的内容并将其与我拥有的数组进行比较。如果它与某些单词匹配,则会触发更改。然而,在触发所述事件之后,该部分代码我已经工作了,我希望页面返回到默认状态。换句话说,用户在默认状态下开始页面,在写入过程中,他通过从数组中键入特定单词来触发事件,一旦他继续键入,他就会返回到默认状态。这就是我对该功能所拥有的:
function handleChange(){
var newText=input.value;
if (newText==oldText)return; else oldText=newText;
set(reversed, reverse(newText));
set(count, 'You entered '+newText.length+' characters.');
set(orig, newText);
//魔术词汇数组
var magic_words = ["cool", "brother", "fun", "sister", "apple", "orange"];
// Screen BG
var box = document.getElementById("box");
// splitEnds正在使用newText,并通过在SPACE中将字符串拆分将整个输入文本字符串拆分为单词
var splitEnds = newText.split(" ");
//屏幕最初为白色
var color = "white";
//当用户开始将屏幕变为绿色只是为了表示用户已经开始
if(newText != " ") {
color = "green";
}
//查看所有magic_words的数组
for (var i = 0; i < magic_words.length; i++) {
//查看所有INPUT字符串文本,将其分成单独的单词
for(var x = 0; x < splitEnds.length; x++){
//如果用户已开始输入,则键入magic_word转为蓝屏
if(color == "white" || color == "green")
if (magic_words[i] == splitEnds[x]) {
color = "blue";
break;
}
//我需要知道的是保持分析文本的功能,如果匹配的话。现在它正在贴上蓝色
}
}
box.style.backgroundColor = color;
}
感谢任何帮助。
谢谢,最好,
答案 0 :(得分:0)
我真的不确定你在寻找什么,但只是在你把它变成蓝色后再将它改回绿色。
box.style.backgroundColor = color;
setTimeout(function(){
box.style.backgroundColor = 'green';
},1000);