2016-09-17 66 views
-2

這裏改變一個div形象是我的代碼:無法通過JavaScript

<!DOCTYPE html> 
<html> 

<body> 
    <script> 
    function light() { 
     if (document.getElementById("push").value == "OFF") { 
     document.getElementById("bulb").style.backgroundImage = url("1.png"); 
     document.getElementByID("push").value = "ON"; 
     } 
     else { 
     document.getElementById("bulb").style.backgroundImage = url("2.png"); 
     document.getElementByID("push").value = "OFF"; 
     } 
    } 
    </script> 
    <center> 
    <input type="button" id="push" onclick="light()" value="OFF" /> 
    <div id="bulb" style="background-image:url(2.png);width:320px;height:420px"> 
    </div>enter code here 
    </center> 
</body> 
</html> 
+0

當您提出問題時,文本區域右側有一個大的橙色**如何格式化**框,其中包含有用的信息。還有一個格式化輔助工具的整個工具欄。和一個** [?] **按鈕提供格式幫助。 *和*位於文本區域和「發佈您的問題」按鈕之間的預覽區域(以便您必須滾動查看按鈕才能找到該按鈕,以鼓勵您查看該按鈕),以顯示帖子在發佈時的樣子。明確你的帖子,並證明你花時間這樣做,提高你獲得良好答案的機會。 –

+1

javascript!= java。 –

+0

我已經修復了格式並刪除了不相關的標籤,但由於這是您的第三個問題,我希望您現在至少能格式化至少。 –

回答

3

這條線:

document.getElementById("bulb").style.backgroundImage = url("1.png"); 

試圖調用一個名爲url函數和一個字符串傳遞給它,然後將結果分配給backgroundImage屬性。

相反,你要分配backgroundImage直接:

document.getElementById("bulb").style.backgroundImage = "url(1.png)"; 
// Note ------------------------------------------------^----^----^^ 

例子:

document.getElementById("bulb").style.backgroundImage = "url(https://lh3.googleusercontent.com/-qJYMzFfIels/AAAAAAAAAAI/AAAAAAAAAGM/16Ir8NxI3gE/photo.jpg?sz=32)";
<div id="bulb" style="width: 32px; height: 32px"></div>


這就是說,它WOU LD更好地定義你的造型和這樣的CSS,然後將這些樣式使用選擇元素,通過一類關聯關聯例如:

CSS:

.class-saying-what-the-image-represents { 
    background-image: url(1.png); 
} 

的JavaScript:

document.getElementById("bulb").classList.add("class-saying-what-the-image-represents"); 

例如:

document.getElementById("bulb").classList.add("class-saying-what-the-image-represents");
.class-saying-what-the-image-represents { 
 
    background-image: url(https://lh3.googleusercontent.com/-qJYMzFfIels/AAAAAAAAAAI/AAAAAAAAAGM/16Ir8NxI3gE/photo.jpg?sz=32); 
 
}
<div id="bulb" style="width: 32px; height: 32px"></div>

+0

div可能有id和class嗎? –

+0

@SujeetAgrahari:當然(例如,我的第二個例子中的'div'確實運行了代碼)。它也可以有多個類。 –

+0

謝謝@ T.J。 Crowder! –