在javascript动画中创建许多类似的元素
creating many similar elements in javascript animation
对于javascript动画,我正在尝试创建数字为1-9的按钮。现在我的数字1的javascript看起来像:
that1 = { thisx : 120, thisy: H-400, thisnumber= "1",
draw: function() {
var keywidth = 100;
var keyheight = 150 ;
var x = this.thisx;
var y = this.thisy;
var cornercut = 5;
ctx.beginPath();
//drawing the key
ctx.moveTo(x, y+cornercut);
ctx.quadraticCurveTo(x,y, x+cornercut, y);
ctx.lineTo(x+keywidth-cornercut, y);
ctx.quadraticCurveTo(x+keywidth, y, x+keywidth, y+cornercut);
ctx.lineTo(x+keywidth, y+keyheight-cornercut);
ctx.quadraticCurveTo(x+keywidth, y+keyheight, x+keywidth-cornercut, y+keyheight);
ctx.lineTo(x+cornercut, y+keyheight);
ctx.quadraticCurveTo(x, y+keyheight, x, y+keyheight-cornercut);
ctx.lineTo(x, y+cornercut);
ctx.closePath();
ctx.stroke();
ctx.fillText(this.thisnumber, x+.5*keywidth,y+.8*keyheight);
},
highlight: function() {
ctx.fillStyle="red";
ctx.fill();
}
} ;
我可以复制这个来创建this2、this3、this4、this5等等,但我觉得有一种更简单的方法。有人能帮忙吗?我使用JS是因为我相信这将是使用动画控制这些对象的最简单方法,但如果你有其他建议,请告诉我。
您可以更改thisx
和thisy
的值,并简单地再次调用draw
函数,但如果您简单地将这些值作为参数传递给draw函数,代码可能会更优雅。
相关文章:
- 单击更改iframe元素的类
- 如何在javascript中找到分配给元素的类(没有jQuery)
- 如何使用Javascript更改HTML元素的类
- jquery复杂选择器,按元素和类以开头
- 如果类只包含一个特定数字,则向元素添加类
- 使用替换函数删除 Javascript 中元素的类
- 为所有子元素提供类
- setInterval - 如果元素具有类外部间隔
- 对许多类似的HTML页面进行有效的编码
- 如何使用jquery动态更改DOM元素CSS类
- 检查哪些元素具有类并切换它们
- 更改元素的类将删除其以前的所有样式
- 如何使用jQuery扩展方法为元素或类选择器创建自定义插件
- 单击单选按钮,添加/删除表单元素的类
- 无法修改DOM元素的类
- 使用Javascript和字符串插值更改html元素的类
- jquery如何使用chlid id获取父元素的类
- 为什么html元素的类名没有更改
- 如何用jQuery为许多相似的元素添加类
- 在有许多类的元素中找到一个特定的类