2015-03-31 50 views
0

下面給出的是我的javaScript代碼。 現在的狀況是,如果我給你打個招呼。應該顯示一個hello的圖像,或者如果我給Facebook,那麼爲許多單詞顯示的圖像也必須顯示出來。所提到的圖像必須被顯示。但是,在我的代碼中,第一次後圖像失敗不顯示第二個單詞。 幫助我的備用碼上述問題我的代碼中的「if else」的替代代碼

 var anu = document.getElementById("display"); 
     var a= document.getElementById("final_span").textContent; 
      console.log(linebreak(interim_transcript)); 
     if(a.search("hello") || a.search("facebook")){ 
     if(linebreak(interim_transcript) == "hello"){ 
      anu.innerHTML="<img src=hello.jpg>"; 
     } 
     else if(linebreak(interim_transcript) == "facebook"){ 
      anu.innerHTML="<img src=facebook.jpg>"; 
     } 
     else if(linebreak(interim_transcript) == "hi"){ 
      anu.innerHTML="<img src=hi.jpg>"; 
     } 
     else if(linebreak(interim_transcript) == "doll"){ 
      anu.innerHTML="<img src=doll.jpg>"; 
     } 
+0

我們不知道'linebreak'd或者返回。對於我們所知的一切,它可以返回「otherstring」。 – h2ooooooo 2015-03-31 06:12:05

+2

是否是「」「'一個選項? – undefined 2015-03-31 06:13:44

+0

謝謝。但是,如果已經嘗試過,但它不起作用。 – Avanthi 2015-04-01 07:00:56

回答

0

如果linebreak和圖像名稱返回的值是相同的,你可以使用

anu.innerHTML = '<img src="' + linebreak(interim_transcript) + '">'; 

否則,你可以使用一個對象,其中你可以指定圖像名稱

var obj = { 
    hello: "hello.jpg", 
    facebook: 'facebook.jpg', 
    hi: 'hi.jpg' 
} 


var anu = document.getElementById("display"); 
var a = document.getElementById("final_span").textContent; 

if (a.search("hello") || a.search("facebook")) { 
    var lb = linebreak(interim_transcript); 
    if (obj[lb]) { 
     anu.innerHTML = '<img src="' + obj[lb] + '">'; 
    } 
} 
+0

您可以通過使用帶有值的簡單數組來重構這個對象,並且可以從全部中刪除'.jpg'並將其放置在'img '直接 – 2015-03-31 06:18:14

+0

你可能想在你的答案的第一部分給@Vohuman。 – 2015-03-31 06:18:24

+0

@ ta-run沒有看到......我認爲他在我編輯答案時添加了它...... – 2015-03-31 06:20:10