如果它是关于多边形的话,我是一个完全的初学者
我有一个带有id="a"
的多边形,当它被点击时,一个名为changecolor()
的函数被调用。我将默认颜色设置为绿色,并且我希望它在点击时更改为另一个绿色,现在当它再次点击时我希望它检查它是什么颜色并基于它改变颜色或不改变颜色,这里是函数changecolor()
:
function changecolor(){
if(a.style.fill === '#73e600') {
a.style.fill = 'green';
} else {
a.style.fill = '#73e600';
}
}
如果我使用'green'
而不是'#73e600'
来执行此代码似乎有效,那么我的问题是如何使其与十六进制颜色代码一起使用?
答案 0 :(得分:0)
您的问题与设置颜色无关,而是与您的条件有关。
条件if(a.style.fill === '#73e600')
永远不会返回true,因为a.style.fill
会返回'rgb(115, 230, 0)'
之类的值。
最简单的解决方法是将条件更改为if(a.style.fill === 'rgb(115, 230, 0)')
并再次运行。
但是,您可能会遇到浏览器行为略有不同的情况,因此您可能最好为每种颜色使用css类,并在单击时切换类而不是直接更改fill属性。检查班级名称没有问题。