0
如果用戶輸入特定文本,我希望在特定圖像中彈出特定圖像。我嘗試了一個例子,它的工作,但現在,我添加了幾個變量和他們的數組行,它不起作用。 我不能告訴什麼錯誤,我在這裏做,我猜測它的東西做與嵌套if和else if條件/語句檢查文本輸入是否與if中的多個數組中的一個數組相匹配,否則if語句中的if語句
HTML
<form>
<input type="text" name="search" placeholder="Type or tap on the microphone above">
</form>
<div class="imageContainerSearchPage">
<img id="toast_018" class="hiddenElement" src="animsAll/Anims_018_Toast.gif">
<img id="nobaloons_014" class="hiddenElement" src="animsAll/Anims_014_no baloons.gif">
<img id="wegotastory_019" class="hiddenElement" src="animsAll/Anims_019_Button_We got a story_textandbook.gif">
<img id="parisIsBurningButton_021" class="hiddenElement" src="animsAll/Anims_021_Paris is Burning Button.gif">
</div>
<!--[•VIDEO BACKGROUND•]-->
<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>
JAVASCRIPT:不工作
$("input")
.keyup(function() {
var value = $(this).val();
var no = ["sixties", "sixty", "sixtys"];
var weGotAStory = ["we", "got", "story"];
var sandwich = ["sandwich", "grilled"];
var parisIsBurningButton = ["paris", "burning"];
var toast = ["toasted", "toast", "toasts"];
if($.inArray(value, no) !== false) {
$("#nobaloons_014").show().delay(10000).fadeOut();
} else if ($.inArray(value, weGotAStory) !== false) {
$("#wegotastory_019").show().delay(10000).fadeOut();
} else if ($.inArray(value, parisIsBurningButton) !== false) {
$("#parisIsBurningButton_021").show().delay(10000).fadeOut();
} else ($.inArray(value, toast) !== false) {
$("#toast_018").show().delay(10000).fadeOut();
}
})
JAVASCRIPT:工作(單IF語句)
$("input").keyup(function() {
var value = $(this).val();
var no = ["no", "nope", "nos"];
if($.inArray(value, no) !== false) {
$("#nobaloons_014").show().delay(10000).fadeOut();
}
})
inArray爲您提供了兩種索引,如果沒有找到,那麼爲什麼用假比較它-1。因此,您使用的陳述將始終返回true! –
我改爲-1等等,它沒有工作。我剛剛做出了妥協,以消除陣列並保持一個字。這很好。我會暫時做這件事,稍後會試着看看我可以如何將陣列放回去。(我正在做這個測試,所以它不一定是確切的,只要至少有一個詞是這樣的圖像彈出。 – Manuela