2011-04-15 126 views
0

我想創建一個窗體,給用戶3個不同的選項來更改頁面的背景顏色。當用戶點擊其中一個選項時,背景顏色會更改爲匹配。並且還會創建一個帶有一些基本文本的div以開始。創建一個具有textarea的表單。使用document.getElementById('yourelementid')來查找textarea的值並更改在div中創建的基本文本。 (提示:用戶innerHTML)現在我知道如何做表單,但是我不知道如何在用戶點擊該按鈕時改變背景。我並不真正瞭解如何使用innerHTML。如果有人能夠解釋或給我一些關於如何理解這一點的網站。謝謝。我需要幫助DOM中的javascript

好了,這是我到目前爲止,我沒有再還理解它...

<!DOCTYPE html PUBLIC "-//W3C//DTD Xhtml 1.0 Strict//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
    <html xmlns="http:www.w3.org/1999/xhtml"> 
    <head> 
    <title>background-color</title> 
    <meta http-equiv="content-type" content="text/html;charset=iso-8859-1" /> 
<script language="javascript" type="text/javascript"> 
    function changeBackgroundColor(objDivID) 

    { 
    var backColor = new String(); 

     backColor = document.getElementById(objDivID).style.backgroundColor; 
    if(backColor.toLowerCase()=='#A20000C') 

    { 
    document.getElementById(objDivID).style.backgroundColor = '#DF64BD'; 

    } 
    else 
     { 
    document.getElementById(objDivID).style.backgroundColor = '#FFDD73'; 
     } 

    } 

     </script> 
     </head> 
     <body> 
     <h3>Change background color to:</h3> 
     <div id="div1" style="background-color : #A2000C"> 
     <p><input type="radio" name="color" value="red" />Red<br /> 
     <input type="radio" name="color" value="pink" />Pink<br /> 
     <input type="radio" name="color" value="yellow" />Yellow<br /> 

     </div> 
    <input type="button" value="click here"onclick="changeBackgroundColor('div1')" /> 
     </body> 
     </html> 

我仍然不知道爲什麼我的盒子AINT那麼大,不chaning顏色正確的,我仍然有也有一個盒子。要求更改顏色的文字。

+0

好吧,所以我得到這個權利,你可以使用選擇作爲股利或這是正確的... – norris1023 2011-04-15 15:14:29

回答

1

您應該換色選項添加事件處理程序,像這樣(假設它是一個選擇框):

<select id="colorSelect"> 
    <option value="red">red</option> 
    <option value="green">green></option> 
</select> 

document.colorSelect.onchange = function(){ 
    document.elementToChangeColor.style.backgroundColor= this.value; 
} 
0

innerHTML的基本上是兩個標記之間的一切(因此內部HTML):

<div> 

現在改變的背景下,你會從表單元素中獲得的價值,然後寫這樣的事情改變背景顏色。

document.getElementById('your_element_id').style.backgroundColor = formElementValue 
1

這裏是你如何將網頁的背景顏色設置爲文本區域的值:

document.bgColor=document.getElementById('yourelementid').value; 
+0

好吧,我確實有這個權利然後......我只是很迷茫和困惑,它甚至不好笑。我明白我必須做的大部分事情,但把它放在一個功能,以便它的工作。我只是迷失了。 – norris1023 2011-04-15 13:23:47

0

Mozilla文檔很好地描述了innerHTML。您可能需要閱讀該頁面。

DOM對象的innerHTML屬性以文本形式提供該對象的HTML內容。所以,如果你有HTML:

<div id="myID"><span>Some text here!</span></div> 

和JavaScript:

var theHTML = document.getElementById('myID').innerHTML; 
alert(theHTML); 

然後你會看到<span>Some text here!</span>

如果將innerHTML屬性設置爲HTML字符串,它將更改該值的內容。考慮到,如果你有以下的JavaScript上面的HTML:

var myDiv = document.getElementById('myID'); 
myDiv.innerHTML = '<span>Now this is some other text</span>'; 

您與ID myID將改爲顯示包含跨度格「現在,這是其他一些文字」。

要更改背景顏色,請查看更改正文的CSS屬性。 This question將幫助你看到如何做到這一點。您需要調查document.body.style

0

我會使用jQuery:

function selectionMade(color) { 
    var body = $('body'); 
    body.css('background-color', color) 

    var divWithSomeText = $('<div/>').Text = 'Some Text'; 
    body.Add(divWithSomeText); 
} 

jQuery讓你正在嘗試做的非常容易的事情。如果我是你,我現在就可以使用圖書館,以便將來再次使用它。