2010-01-19 286 views
7

我是JavaScript新手。我使用JavaScript開發了一個頁面,當我選擇一種顏色時,它將作爲背景應用於整個頁面。更改文字顏色onclick

我想開發一個頁面,我只能更改文本顏色。它應該改變(從紅色到綠色或類似的東西),但不應刷新頁面,只應改變所選內容或文本顏色。

任何人都可以幫助我。任何想法如何發展它?提前致謝。

回答

4

由Sarfraz答案的改寫將是這樣的,我想:

<script> 

    document.getElementById('change').onclick = changeColor; 

    function changeColor() { 
     document.body.style.color = "purple"; 
     return false; 
    } 

</script> 

你會要麼必須把這個腳本在您的頁面底部,正好在關閉正文標記之前,或者將處理程序分配放在一個名爲onload的函數中 - 或者如果您使用的是jQuery,那麼非常優雅$(document).ready(function() { ... });

請注意,當您以這種方式分配事件處理程序時,它將從HTML中取出功能。另請注意,您將其設置爲等於函數名稱 - no()。如果你做了onclick = myFunc();該函數實際上會在處理程序被設置時執行。

而且我很好奇 - 你知道足夠的腳本來改變背景顏色,但不是文本顏色?奇怪:)

+0

重量我嘗試做的是改變文字顏色,通過調用該..我已經創建了三個不同的.css的頁面的CSS ..即時通訊面臨的問題網頁..但是當點擊第一個.css頁面時,我正在顯示的是nt others.i ve,所有這三個.css文件也都被調用.. – Patel 2010-01-19 07:17:57

+0

@patel這在原始問題中會很有用。你應該編輯它以包含那個重要的小點數。 – 2010-01-20 17:52:47

4

做這樣的事情:

<script> 
function changeColor(id) 
{ 
    document.getElementById(id).style.color = "#ff0000"; // forecolor 
    document.getElementById(id).style.backgroundColor = "#ff0000"; // backcolor 
} 
</script> 

<div id="myid">Hello There !!</div> 

<a href="#" onclick="changeColor('myid'); return false;">Change Color</a> 
+0

-1對於'document.getElementById(id)'和有問題的事件註冊的低效使用 – 2010-01-19 05:53:57

+0

@Justin:好的,如果你能解釋什麼是低效的呢?如果我能學習,我會很高興。您可以提供哪些鏈接? – Sarfraz 2010-01-19 05:55:41

+0

儘量避免走DOM,因此您最好儘可能少地調用像'document.getElementById'這樣的方法。至於事件註冊,它通常被認爲是混合表示和邏輯的糟糕形式。更多可以在這裏閱讀有關它:http://www.quirksmode.org/js/events_early.html – 2010-01-19 06:01:54