2012-10-14 51 views
1

我有一个onClick命令的链接来更改背景颜色。当你点击它时,颜色变化很好,但是我怎样才能做到这一点,所以当你再次点击它的背景颜色变为正常?当您点击两次时更改div的颜色?

onClick="style.backgroundColor='#3E729F';" 

回答

4

您可以定义在脚本元素的功能:

<script> 
var oldColor; 
function switchColor(el) { 
    if (oldColor) { 
     el.style.backgroundColor = oldColor; 
     oldColor = null; 
    } else { 
     oldColor = el.style.backgroundColor; 
     el.style.backgroundColor = '#3E729F'; 
    } 
} 
</script> 

,并调用它像这样:

onclick="switchColor(this);" 

demonstration

+0

这将改变,如果你点击一次..我假设他想改变颜色,当他点击div两次。 (有柜台也许?) –

+0

不,他钉了它。非常感谢,这工作。 – Richie

+0

其实,这似乎并没有工作... 通常它没有背景开始,然后当你点击它的背景应该改变为#3E729F。但是,有了这个,唯一的选择就是改变颜色并保持原样,或者保持没有背景。 – Richie

0

如果你只需要添加或删除背景颜色,您可以检查元素是否具有背景颜色。

<script> 
function highlight(e) { 
    if (e.style.backgroundColor) { 
     e.style.backgroundColor = null; 
    } else { 
     e.style.backgroundColor = "#ffa"; 
    } 
} 
</script> 
<div onclick="highlight(this);">a</div> 
<div onclick="highlight(this);">a</div>