2017-03-31 103 views
0

存在:是什麼在起作用 我有一個主要的語音界面的應用程序有一個搜索頁面,也有文本輸入搜索選項(搜索圖像)。我首先制定了語音命令,並具有所有圖像,並且工作正常,現在我正在添加文本配置。下面是什麼現在工作的例子,我測試了它使用只有一個字作爲變量:檢查用戶輸入匹配任何的幾個單詞中的變量,如果有匹配,顯示圖像

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(); 
     } 
     }) 

問題:加入一個字幾種變化並檢查用戶是否匹配其中的任何一個現在我正在處理文本部分,並且剛剛意識到不像語音,它必須匹配ONE字符串或字符串組合(根據API規範)文字可以有一個單詞的幾個選項,因爲人們有時會拼錯單詞。 我使用上面的代碼完美地顯示了一個特定的圖像,但現在我想爲同一個單詞添加幾個選項,以及可能的單詞組合。

在這種情況下,這個詞是「六十年代」。 和我創建了工作的

var sixties = "sixties"; 

單可變。但是現在我想在下面添加這兩個附加選項:

var sixties =["sixty", "sixtys", "sixties"]; 

並且這與我的其他代碼無效。將這些單詞添加到數組(?)中的最佳方法是什麼?如果匹配,則在其中任何一個單詞中顯示圖像?我知道我錯過了「檢查這些單詞之間是否存在匹配」選項,但我無法弄清楚如何改變我已有的內容。

回答

1

這將返回true,如果值是:

if (value.indexOf(sixties) > -1)) { 
    $("#button1960s_002").show().delay(10000).fadeOut(); 
} 
+0

非常感謝你! – Manuela

1

由於您使用jQuery的你可以在六十年代陣列使用$ .inArray檢查 http://api.jquery.com/jQuery.inArray/

var sixties =["sixty", "sixtys", "sixties"]; 
if($.inArray(value, sixties) !== false) { 
    $("#button1960s_002").show().delay(10000).fadeOut(); 
} 
+0

偉大的太感謝你了! – Manuela

相關問題