Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 颜色变换器仅适用于两种颜色_Javascript_Html - Fatal编程技术网

Javascript 颜色变换器仅适用于两种颜色

Javascript 颜色变换器仅适用于两种颜色,javascript,html,Javascript,Html,我怎样才能用多种颜色制作这件作品?此外,我无法获得更改颜色的链接 var div=document.getElementById('ColorChanger'); div.addEventListener('click',函数(e){ var self=这个, old_bg=this.style.background; document.body.style.background=document.body.style.background=='black'?'white':'black';

我怎样才能用多种颜色制作这件作品?此外,我无法获得更改颜色的链接

var div=document.getElementById('ColorChanger');
div.addEventListener('click',函数(e){
var self=这个,
old_bg=this.style.background;
document.body.style.background=document.body.style.background=='black'?'white':'black';
document.body.style.color=document.body.style.color=='lime'?'black':'lime';
document.alinkColor=document.linkcolor=='red'?'black':'red';
})
A+

您可以将所有颜色存储在如下数组中:

var div = document.getElementById('ColorChanger');
var allColors = [];
var currentColor = 0;
allColors.push({bg:"red",front:"green"});
allColors.push({bg:"green",front:"yellow"});
allColors.push({bg:"purple",front:"white"});

div.addEventListener('click', function(e){
    var self = this,
        old_bg = this.style.background;

    document.body.style.background = allColors[currentColor].bg;
    document.body.style.color = allColors[currentColor].front;
   currentColor++;
if(currentColor == allColors.length) currentColor = 0;
})

要使其与链接一起工作,您应该使用preventDefault。

这有什么问题?有了更多选项,我认为您无法避免失去简洁性。您可以使用多个if/else if语句或更优雅的switch语句。当我单击a+时,链接的颜色发生了变化,背景变为黑色。你说更多颜色是什么意思?你会有更多可点击的东西来改变背景和不同颜色的链接吗?如果是这样的话,简单地复制你为A+所做的一切。是否希望A+更改为多种颜色?那怎么会呢?随机?让用户决定?