我试图通过用户点击、鼠标移动和点击来绘制一个矩形。我的代码有两个问题。
首先,在绘制一个矩形后,会自动假定将绘制另一个矩形。其次,第二个矩形的起点是创建第一个矩形的最后一次单击。
http://jsbin.com/uqonuw/3/edit
原文由 user2539506 发布,翻译遵循 CC BY-SA 4.0 许可协议
我试图通过用户点击、鼠标移动和点击来绘制一个矩形。我的代码有两个问题。
首先,在绘制一个矩形后,会自动假定将绘制另一个矩形。其次,第二个矩形的起点是创建第一个矩形的最后一次单击。
http://jsbin.com/uqonuw/3/edit
原文由 user2539506 发布,翻译遵循 CC BY-SA 4.0 许可协议
13 回答13k 阅读
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
6 回答1.1k 阅读
你很接近。所以,问题不在于 HTML5 中的“canvas”元素,而在于实际上是 div 的画布。
http://jsfiddle.net/d9BPz/546/
为了让我看到您的代码试图完成什么,我必须对其进行整理。需要做的是跟踪方形元素。
每次我们点击画布时,我们都在做两件事之一。我们要么创建一个矩形元素,要么完成一个矩形元素。因此,当我们完成后,将“element”(以前称为“d”)设置为 null 是有意义的。创建元素时,我们必须将新的 DOM 元素分配给“元素”。
每次鼠标移动时,我们都想获取鼠标位置。如果元素正在创建过程中(或“不为空”),那么我们需要调整元素的大小。
然后我们将它全部封装在一个函数中,仅此而已:
用法:传递您想要制作矩形画布的块级元素。例子: