It is a link to w3schools Website for a JS tutorial在給定的代碼中兩個不同的img的意義?
在上述程序中,我發現有圖像在(如果循環)2倍SRC的即img src="pic_bulboff.gif"
和img src= "pic_bulbon.gif"
。爲什麼需要兩個img src's
? 這個程序中「匹配」的用法是什麼?
It is a link to w3schools Website for a JS tutorial在給定的代碼中兩個不同的img的意義?
在上述程序中,我發現有圖像在(如果循環)2倍SRC的即img src="pic_bulboff.gif"
和img src= "pic_bulbon.gif"
。爲什麼需要兩個img src's
? 這個程序中「匹配」的用法是什麼?
src
屬性是圖像的URL - 它是顯示的內容。這不是一個循環,它是一個if
語句 - 分支或條件語句 - 每次調用該函數時只有一個分支會被採用。這是一個切換 - 當您點擊燈光時,它會將src
屬性切換爲當前未選中的屬性。
match
是function on a string需要regular expression。如果你剛剛開始編程,這是一個深入的漏洞,但基本上它是檢查當前的src
屬性值是否包含該文本。
它正在檢查圖像是否爲bulbon圖像,如果是則將其更改爲bulboff圖像,反之亦然。
要回答你的問題,讓我們來看看整個代碼:
<!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
屬性包含單詞關,我們想改變src
是src="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";
}
如果您還有任何疑問,請向在下面的評論。
這是什麼代碼是這樣做的: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"]
「使用id'myImage'抓取圖像」的準確含義是什麼? – Shaunak
多數民衆贊成什麼document.getElementById做,它抓住元素,可能不是一個圖像,你是正確的將編輯 – JordanHendrix
所以這是必須的一個兩個下載兩個不同的燈泡圖像{在這種情況下,它是Bulboff和Bulbon},然後使用image.src鏈接到上面代碼中的兩個不同的圖像,對不對? – Shaunak
這是一個if/else語句。點擊圖像會觸發在圖像之間切換的Javascript功能。 –