jQuery在单击时更改背景的颜色
我对jQuery有点粗暴,所以请容忍我 代码的目标是单击,如果正方形为白色,则使用选定的颜色对其进行着色。如果它是选定的颜色,请将其设置回白色。除了从一种颜色转换到另一种颜色时,中间有一个白色斑点。例如: 当我做黑色>蓝色时,它处理为黑色>白色>蓝色 下面是我的代码片段jQuery在单击时更改背景的颜色,jquery,css,colors,Jquery,Css,Colors,我对jQuery有点粗暴,所以请容忍我 代码的目标是单击,如果正方形为白色,则使用选定的颜色对其进行着色。如果它是选定的颜色,请将其设置回白色。除了从一种颜色转换到另一种颜色时,中间有一个白色斑点。例如: 当我做黑色>蓝色时,它处理为黑色>白色>蓝色 下面是我的代码片段 $(pixelCanvas).on("click", "td", function(){ let background = $(this).css("background-color"); let isEmpty = !back
$(pixelCanvas).on("click", "td", function(){
let background = $(this).css("background-color");
let isEmpty = !background || background === "rgb(255, 255, 255)" ||
background === "#ffffff";
let isNotColor = background !== color;
if(isEmpty){
$(this).css("background-color", color);
} else if(isNotColor){
$(this).css("background-color", color);
} else {
$(this).css("background-color", "#ffffff");
}
})
这是我的代码笔链接
提前谢谢你 因此我找到了一个将rgb转换为十六进制的函数,并将其用于背景色。它似乎工作得很好,但我不确定它是否能在所有浏览器和操作系统上一致工作,在Windows10上对Chrome进行了测试。无论哪种方式,它都应该让你知道你需要关注什么,那就是确保你的颜色代码都是相同的格式 /*全球美元*/ $document.readyfunction{ 让color=$colorPicker.val; 让row=$.row; 让column=$.column; 设submitBtn=$submitBtn; 让pixelCanvas=$pixel_canvas; 让mouseDown=false; 函数makeGridheight,width{ 对于let i=0;i<高度;i++{ 设tableRow=$; 对于设j=0;j