簡體   English   中英

如何從下拉菜單更改DIV的背景顏色?

[英]How to change the background color of a DIV from a dropdown menu?

是否可以根據最終用戶從下拉列表中選擇的內容來更改DIV的背景顏色? 例如,我有一個帶有藍色,綠色,紅色等選項的下拉菜單,我希望DIV背景色是用戶選擇的。 這是我嘗試過的方法,但我無法弄清楚如何使其有效:

<head>

<style>
div.results{
position: relative;
left: 300px;
    height: 200px;
    width: 200px;
    border: 1px solid;
    color: black;
}
</style>

<script>// this script will place the background image.

function selectBackground(){
    var e = document.getElementById("selector");
    var BackgroundValue = e.options[e.selectedIndex].value;
    document.getElementById("PreviewResults").style.background-color= BackgroundValue;
}
</script>

</head>

<body>

<div class="selectors">
    <select id=selector>
        <option>Select Background</option>
        <option value="blue">Blue</option>
        <option value="yellow">Yellow</option>
        <option value="green">Green</option>
        <option value="red">Red</option>
    </select>   
<button onclick="selectBackground()">Preview Results</button>
</div>

<div class="results" id="PreviewResults" style="background-color:white;">
Results Here
</div>

</body>

確保您使用style.backgroundColor實際設置背景:

document.getElementById("PreviewResults").style.background-color= BackgroundValue;

您可能還需要考慮將默認選項的值設置為transparent (背景的初始值),以便用戶可以在進行更改后切換回:

<select id=selector>
    <option value="transparent">Select Background</option>
    <option value="blue">Blue</option>
    <option value="yellow">Yellow</option>
    <option value="green">Green</option>
    <option value="red">Red</option>
</select>   

您可以在這里看到一個實際的示例,並在下面進行了演示:

在此處輸入圖片說明

document.getElementById("PreviewResults").style.background-color= BackgroundValue;

這是行不通的,因為這里的內容將是JavaScript中的減法運算 ,因為-是該運算符。

要訪問包含-任何樣式屬性,您需要刪除-並將以下字母替換為其大寫版本:

document.getElementById("PreviewResults").style.backgroundColor = BackgroundValue;

或使用方括號語法:

document.getElementById("PreviewResults").style["background-color"] = BackgroundValue;

換線

document.getElementById("PreviewResults").style.background-color= BackgroundValue;

document.getElementById("PreviewResults").style.backgroundColor = BackgroundValue;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM