2017-04-02 60 views
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(); 
     } 

     }) 
+0

inArray爲您提供了兩種索引,如果沒有找到,那麼爲什麼用假比較它-1。因此,您使用的陳述將始終返回true! –

+0

我改爲-1等等,它沒有工作。我剛剛做出了妥協,以消除陣列並保持一個字。這很好。我會暫時做這件事,稍後會試着看看我可以如何將陣列放回去。(我正在做這個測試,所以它不一定是確切的,只要至少有一個詞是這樣的圖像彈出。 – Manuela

回答

0

我妥協與陣列和就拿出來,因爲沒有別的工作。這可以使隱藏的圖像對應於字符串彈出,但它不完全是我想要的(它不提供多字選項不包含數組)。

$("input") 
    .keyup(function() { 
    var value = $(this).val(); 
    var sixties = "sixties"; 
    var paris = "paris"; 
    var weGotAStory = "story"; 
    if (value == sixties) { 
    $("#button1960s_002").show().delay(10000).fadeOut(); 
    } else if (value == paris) { 
     $("#parisIsBurningButton_021").show().delay(10000).fadeOut(); 
    } else if (value == weGotAStory) { 
     $("#wegotastory_019").show().delay(10000).fadeOut(); 
     } 

    })