2016-04-08 22 views

回答

0

src屬性是圖像的URL - 它是顯示的內容。這不是一個循環,它是一個if語句 - 分支或條件語句 - 每次調用該函數時只有一個分支會被採用。這是一個切換 - 當您點擊燈光時,它會將src屬性切換爲當前未選中的屬性。

matchfunction on a string需要regular expression。如果你剛剛開始編程,這是一個深入的漏洞,但基本上它是檢查當前的src屬性值是否包含該文本。

+0

循環的含義是什麼?語句和循環之間有什麼區別? – Shaunak

+0

循環不止一次地執行任務。 'if'陳述只是一次性的。例如,'for'循環會執行'n'次:'for(var i = 0; i <50; i ++){console.log(i); }'會將變量'i'記錄到控制檯50次。 – flatline

+0

好的。那麼循環可以被無限次地使用?循環的應用有哪些?它用於JS的高級版本嗎?其他編程語言是否還有其他循環? – Shaunak

0

它正在檢查圖像是否爲bulbon圖像,如果是則將其更改爲bulboff圖像,反之亦然。

0

要回答你的問題,讓我們來看看整個代碼:

<!DOCTYPE html> 
<html> 
<body> 

<h1>JavaScript Can Change Images</h1> 

<img id="myImage" onclick="changeImage()" src="pic_bulboff.gif" width="100" height="180"> 

<p>Click the light bulb to turn on/off the light.</p> 

<script> 
function changeImage() { 
    var image = document.getElementById('myImage'); 
    if (image.src.match("bulbon")) { 
     image.src = "pic_bulboff.gif"; 
    } else { 
     image.src = "pic_bulbon.gif"; 
    } 
} 
</script> 

</body> 
</html> 

隨着問題的狀態,整點是在點擊<img>標籤更改<img> src屬性。

這意味着,如果燈亮,這意味着如果<img>標籤的src屬性包含單詞,我們想改變srcsrc="pic_bulbon.gif"。這應該像一個普通的燈泡一樣工作,打開和關閉。每個圖像代表一個關閉的燈泡或一個打開的燈泡。

Match是解決方案的關鍵。匹配的是,它會查看一個字符串並在該字符串中找到一個單詞,如果這個單詞存在,那麼它將返回true。

使用從src屬性中的字符串匹配將幫助我們在或關閉找到一個詞*。所以在考慮什麼src屬性包含,pic_bulb上** GIF或pic_bulb 關閉 .gif注意,我們將匹配像這樣用JavaScript:

stringName.match(someOtherString),轉化爲image.src.match("bulbon")image.src.match("bulboff")相反。

此之後,我們可以通過if/else語句設置src屬性關閉

if (image.src.match("bulbon")) { 
    image.src = "pic_bulboff.gif"; 
} else { 
    image.src = "pic_bulbon.gif"; 
} 

如果您還有任何疑問,請向在下面的評論。

0

這是什麼代碼是這樣做的:Working Example with logging

function changeImage() { 
    // grab the element (in this case an img tag) using the id 'myImage' 
    var image = document.getElementById('myImage'); 
    // check to see if the source of the image contains the word 'bulbon' 
    // match return an array of matches 
    if (image.src.match("bulbon")) { 
     // if there is a match for bulbon change the image src to pic_bulboff.gif 
     image.src = "pic_bulboff.gif"; 
    } else { 
     // if not change it to pic_bulbon.gif 
     image.src = "pic_bulbon.gif"; 
    } 
} 


// on match: 


var s = 'aaaabulbonaaa'; 

var matchResult = s.match('bulbon'); 
    // match return an array of matches 
console.log(matchResult); // ["bulbon"] 
+0

「使用id'myImage'抓取圖像」的準確含義是什麼? – Shaunak

+0

多數民衆贊成什麼document.getElementById做,它抓住元素,可能不是一個圖像,你是正確的將編輯 – JordanHendrix

+0

所以這是必須的一個兩個下載兩個不同的燈泡圖像{在這種情況下,它是Bulboff和Bulbon},然後使用image.src鏈接到上面代碼中的兩個不同的圖像,對不對? – Shaunak

相關問題