2016-12-02 115 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类每种颜色,并点击开关类,而不是直接更改填充属性。检查课程名称不会有问题。