我正在尝试用画布绘制线条,并且正在使用 for 循环更改坐标。
这是我的画布元素:
<canvas id="c" width="300px" height="300px"></canvas>
Run Code Online (Sandbox Code Playgroud)
这是js代码:
var c = document.getElementById('c');
ci = c.getContext('2d');
for(var a = 18; a < 300; a +=18){
fnc(a, ci);
}
function fnc(x, ci){
ci.strokeStyle = 'red';
ci.moveTo(0, x);
ci.lineTo(300, x); ci.lineWidth = 0.2; ci.stroke();
}
Run Code Online (Sandbox Code Playgroud)
如您所见,我正在尝试绘制这些线条,它们之间有 18px 的间距。但是线条的粗细和颜色(或不透明度,我不确定)正在从上到下变化。
这是一个小提琴:http : //jsfiddle.net/J6zzD/1/
所以我找不到我的错误有什么问题。为什么颜色和粗细不一样?
更新 :
我只是从函数中写出这些线条,现在所有线条都变淡了,但粗细相同。这么奇怪 :
ci.strokeStyle = 'red';
ci.lineWidth = 0.2; ci.stroke();
Run Code Online (Sandbox Code Playgroud)
这是演示:http : //jsfiddle.net/J6zzD/4/
如果我们想获得最大值或最小值,我们可以使用Math.max
或Math.min
。我想知道是否有办法获得最高的字母。
例如;
var i = 'A';
var ii = 'B';
var iii = 'C';
result = getthemax(i , ii, iii);
// so result equels to 'C'
Run Code Online (Sandbox Code Playgroud)
我搜索了很多,但找不到这样的东西。有什么办法可以做到这一点吗?
假设我有变量"a,b,c,d,e,f",我想检查它们中的任何一个是否有大于10的值.
var myvars = [a,b,c,d,e,f]
if((Any value in these variables) > 10) {
//do something
}
Run Code Online (Sandbox Code Playgroud)
我搜索了但是我找不到比逐个检查它们更短的方法.任何想法都会让我开心.