【发布时间】:2013-01-28 22:33:07
【问题描述】:
我的 JavaScript 代码有问题 如果您输入了错误的代码(颜色值),那么它一定是黑色的。 但是当我输入像“blablabla”这样的东西时,我会输入最后一个例如: 我写红色然后它会是一个红色的圆圈,但是之后当我写blablabla时也会是红色的, 我只是希望当我写错颜色词时它会是黑色 我认为我必须编写一个 rgb 代码,所以功能会检查我写的是对还是错
function getPos(canvas, event){
var a = new Number();
var b = new Number();
var canvas= document.getElementById("can1");
if (event.a != undefined && event.b != undefined)
{
a = event.a;
b = event.b;
}
else
{
a = event.clientX + document.body.scrollLeft +
document.documentElement.scrollLeft;
b = event.clientY + document.body.scrollTop +
document.documentElement.scrollTop;
}
a -= canvas.offsetLeft;
b -= canvas.offsetTop;
var ctx = canvas.getContext("2d");
var color1 = document.getElementById('color');
var size = document.getElementById('size');
ctx.beginPath();
if ( size.value > 0)
{
ctx.arc(a,b,size.value, 275*(Math.PI/180), 635*(Math.PI/180), false);
}
else
{
ctx.arc(a,b,15, 275*(Math.PI/180), 635*(Math.PI/180), false);
}
if (color1.value.length < 0)
{
ctx.fillStyle = "#000000";
}
else if (color1.value.length == 0)
{
ctx.fillStyle = '#000000';
}
else
{
ctx.fillStyle = color1.value;
}
ctx.fill();
ctx.stroke();
ctx.closePath();
window.localStorage['IMG'] = canvas.toDataURL();
}
我猜问题出在这里:
if (color1.value.length < 0)
{
ctx.fillStyle = "#000000";
}
else if (color1.value.length == 0)
{
ctx.fillStyle = '#000000';
}
else
{
ctx.fillStyle = color1.value;
}
【问题讨论】:
-
color1.value.length不能小于0。也没有任何东西可以验证代码中给定的颜色名称。 -
没错,我用 1 试过,但它会出现同样的问题,所以我不知道如何编写检查颜色名称的代码,当我写错时,它将是标准或黑色。!
-
“错误代码”和“blablabla”有什么区别?
-
我的意思是当我输入错误的颜色代码时
标签: javascript colors hex rgb