检查用户输入是否与变量中的几个单词中的任何一个匹配,如果匹配,则显示图像
Check if user input matches any of several words in a variable, and if there is a match, show image
现在:有效的方法
我在一个应用程序中有一个搜索页面,该页面主要是语音界面,还有一个文本输入搜索选项(用于搜索图像)。我首先制定了语音命令并拥有所有图像并且工作正常,现在我正在添加文本配置。以下是现在有效的示例,我只使用一个单词作为变量对其进行了测试:
HTML
<div id="searchBoxPage"class="videoContainer">
<form>
<input type="text" name="search" placeholder="Search">
</form>
<img id="button1960s_002" class="hiddenElement" src="animsAll/Anims_002_Button_1960s.gif">
<video autoplay loop muted>
<source src="videos/music_saint_etienne_only_love_cropped_370x660.mp4" type="video/mp4">
Your browser does not support the video tag.
</video></div>
JQUERY
$( "input" )
.keyup(function() {
var value = $( this ).val();
var sixties = "sixties";
if (value === sixties) {
$("#button1960s_002").show().delay(10000).fadeOut();
}
})
问题:添加一个单词的多个变体并检查用户输入是否匹配其中任何一个现在我正在处理文本部分并且刚刚意识到 与语音不同,它必须匹配一个字符串或字符串组合(根据 API 规范),文本可以为一个单词提供多个选项,因为人们有时会拼错单词。
我使用上面的代码完美地向我展示了一张特定的图像,但现在我想为同一个词添加几个选项,以及可能的词组合。
在这种情况下,单词是 "sixties"。
我创建了
的单个变量
var sixties = "sixties";
有效。但现在我想在下面添加这两个附加选项:
var sixties =["sixty", "sixtys", "sixties"];
这不适用于我的其他代码。将这些词也添加到数组(?)中的最佳方法是什么,如果有匹配项,则显示图像?我知道我缺少 "check if there is a match among these words" 选项,但我不知道如何更改我已有的选项。
因为你正在使用 jQuery 你可以使用 $.inArray 来检查
http://api.jquery.com/jQuery.inArray/
var sixties =["sixty", "sixtys", "sixties"];
if($.inArray(value, sixties) !== false) {
$("#button1960s_002").show().delay(10000).fadeOut();
}
如果值在 sixties 数组中,这将 return 为真:
if (value.indexOf(sixties) > -1)) {
$("#button1960s_002").show().delay(10000).fadeOut();
}
现在:有效的方法 我在一个应用程序中有一个搜索页面,该页面主要是语音界面,还有一个文本输入搜索选项(用于搜索图像)。我首先制定了语音命令并拥有所有图像并且工作正常,现在我正在添加文本配置。以下是现在有效的示例,我只使用一个单词作为变量对其进行了测试:
HTML
<div id="searchBoxPage"class="videoContainer">
<form>
<input type="text" name="search" placeholder="Search">
</form>
<img id="button1960s_002" class="hiddenElement" src="animsAll/Anims_002_Button_1960s.gif">
<video autoplay loop muted>
<source src="videos/music_saint_etienne_only_love_cropped_370x660.mp4" type="video/mp4">
Your browser does not support the video tag.
</video></div>
JQUERY
$( "input" )
.keyup(function() {
var value = $( this ).val();
var sixties = "sixties";
if (value === sixties) {
$("#button1960s_002").show().delay(10000).fadeOut();
}
})
问题:添加一个单词的多个变体并检查用户输入是否匹配其中任何一个现在我正在处理文本部分并且刚刚意识到 与语音不同,它必须匹配一个字符串或字符串组合(根据 API 规范),文本可以为一个单词提供多个选项,因为人们有时会拼错单词。 我使用上面的代码完美地向我展示了一张特定的图像,但现在我想为同一个词添加几个选项,以及可能的词组合。
在这种情况下,单词是 "sixties"。 我创建了
的单个变量var sixties = "sixties";
有效。但现在我想在下面添加这两个附加选项:
var sixties =["sixty", "sixtys", "sixties"];
这不适用于我的其他代码。将这些词也添加到数组(?)中的最佳方法是什么,如果有匹配项,则显示图像?我知道我缺少 "check if there is a match among these words" 选项,但我不知道如何更改我已有的选项。
因为你正在使用 jQuery 你可以使用 $.inArray 来检查 http://api.jquery.com/jQuery.inArray/
var sixties =["sixty", "sixtys", "sixties"];
if($.inArray(value, sixties) !== false) {
$("#button1960s_002").show().delay(10000).fadeOut();
}
如果值在 sixties 数组中,这将 return 为真:
if (value.indexOf(sixties) > -1)) {
$("#button1960s_002").show().delay(10000).fadeOut();
}