2016-12-02 50 views
1

所以我是一個完整的初學者,如果它是關於多邊形。
我有一個id="a"多邊形,當它被點擊時,名爲changecolor()的函數被調用。我將默認顏色設置爲綠色,並且我希望它在點擊時變成另一個綠色,現在當它再次點擊時,我希望它檢查它是什麼顏色並基於它改變顏色或不是,下面是函數changecolor()Javascript多邊形顏色檢查

function changecolor(){ 
    if(a.style.fill === '#73e600') { 
     a.style.fill = 'green'; 
    } else { 
     a.style.fill = '#73e600'; 
    } 
} 

此代碼似乎如果我'green'代替'#73e600'做到這一點,所以我的問題是我怎麼做它用十六進制顏色代碼工作,以及工作?

+2

看看http://stackoverflow.com/questions/40909834/changing-color-of-text-on-click-html/40910053 – maheshiv

回答

0

你的問題不是設置顏色,而是與你的條件。

有條件的if(a.style.fill === '#73e600')永遠不會返回true,因爲a.style.fill返回的值如'rgb(115, 230, 0)'

最簡單的解決辦法是改變你的條件,以if(a.style.fill === 'rgb(115, 230, 0)')並重新運行。

但是,您可能會遇到瀏覽器的表現略有不同,所以你可能會更好過使用CSS類每種顏色,並點擊開關類,而不是直接更改填充屬性。檢查課程名稱不會有問題。