我可以'我不明白为什么我能;不要在JavaScript中更改蜡笔的颜色
I can't figure out why i can't change colors of crayons in JavaScript
我一直在尝试使用html/css和javascript开发一个类似"paint"的应用程序。我做了一个函数,当你点击一支蜡笔时,它应该改变它画的颜色。我用span做蜡笔。我对此很陌生,所以我真的不知道如何调试这个问题
$(document).ready(function() {
var ok = false;
var clickX = new Array();
var clickY = new Array();
var clickDrag = new Array();
var clickColor = new Array();
var curent_color = '#000000';
var context = document.getElementById('Canvas').getContext("2d");
console.log(context);
$('#Canvas').mousedown(function(e) {
var mouseX = e.pageX - this.offsetLeft;
var mouseY = e.pageY - this.offsetTop;
ok = true;
addClick(mouseX, mouseY);
redraw();
});
$('#Canvas').mousemove(function(e) {
var mouseX = e.pageX - this.offsetLeft;
var mouseY = e.pageY - this.offsetTop;
if (ok != false) {
addClick(mouseX, mouseY, true);
redraw();
}
});
$('#Canvas').mouseup(function(e) {
ok = false;
});
$('#Canvas').mouseleave(function(e) {
ok = false;
});
function addClick(x, y, dragging) {
clickX.push(x);
clickY.push(y);
clickDrag.push(dragging);
clickColor.push(curent_color);
}
function redraw() {
context.clearRect(0, 0, context.canvas.width, context.canvas.height);
context.strokeStyle = curent_color;
context.globalAlpha = 0.5;
context.lineJoin = "round";
context.lineWidth = 20;
for (var i = 0; i < clickX.length; i++) {
context.beginPath();
if (clickDrag[i] && i) {
context.moveTo(clickX[i - 1], clickY[i - 1]);
} else {
context.moveTo(clickX[i] - 1, clickY[i]);
}
context.lineTo(clickX[i], clickY[i]);
context.closePath();
context.strokeStyle = clickColor[i];
context.stroke();
}
}
});
function changeColor(x) {
if (x === 1) {
curent_color = '#FF0000';
} else if (x === 2) {
curent_color = '#E30058';
} else if (x === 3) {
curent_color = '#F0540C';
} else if (x === 4) {
curent_color = '#F0CF0C';
} else if (x === 5) {
curent_color = '#46BA0B';
} else if (x === 6) {
curent_color = '#0C2102';
} else if (x === 7) {
curent_color = '#0C2151';
} else if (x === 8) {
curent_color = '#2067CF';
} else if (x === 9) {
curent_color = '#000000';
} else if (x === 0) {
curent_color = '#DD78E3';
}
}
您确定changeColor(x)提供的是整数而不是字符串版本的值吗?由于您使用3个等号(==),因此您需要值和类型相等。
"1"是一个字符串1是整数
"1"==1将返回true"1"===1将返回错误
相关文章:
- 为什么不't Javascript对我的输入值进行了一些重新检查
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 将函数的上下文应用于javascript变量
- 使用php或javascript从facebook相册URL中删除多余的部分
- 正在添加'X'按钮,在文本字段旁边使用javascript
- 如何在JavaScript中将字符串转换为函数引用
- 模糊事件的Javascript测试
- Javascript更改图标
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 如何使用WCF服务和javascript表单post上传.doc文件
- javascript结合了数组和字典
- 这是什么 ==- javascript 运算符
- 从javascript创建一个列表
- 无法在通过jQuery的ajax加载的页面中执行javascript
- Javascript:selenium Web驱动程序isDisplayed()不工作
- 如何通过ajax刷新JSF填充的javascript变量
- 如何在Javascript中将JSon对象转换为数组
- Javascript生成的表单未提交
- 使用javascript将动态表从一个html页面打印到另一个html页
- 我可以'我不明白为什么我能;不要在JavaScript中更改蜡笔的颜色