我有以下dojo代码来在div下创建一个表面图形元素:
....
<script type=text/javascript>
....
function drawRec(){
var node = dojo.byId("surface");
// remove all the children graphics
var surface = dojox.gfx.createSurface(node, 600, 600);
surface.createLine({
x1 : 0,
y1 : 0,
x2 : 600,
y2 : 600
}).setStroke("black");
}
....
</script>
....
<body>
<div id="surface"></div>
....
drawRec()
将第一次绘制矩形图形。如果我在锚点href中再次调用此函数,如下所示:
<a href="javascript:drawRec();">...</a>
它将再次绘制另一个图形。我需要清理div下的所有图形,然后重新创建。我如何添加一些dojo代码来实现这一点呢?
发布于 2009-03-25 21:01:34
while (node.hasChildNodes()) {
node.removeChild(node.lastChild);
}
发布于 2009-03-25 23:58:51
node.innerHTML = "";
非标准,但速度快,支持良好。
发布于 2009-03-26 00:38:33
首先,你需要创建一个表面,并把它放在手边的某个地方。示例:
var surface = dojox.gfx.createSurface(domNode, widthInPx, heightInPx);
domNode
通常是未修饰的<div>
,用作曲面的占位符。
你可以一次清除表面上的所有东西(所有现有的shape对象都将失效,在此之后不要使用它们):
surface.clear();
所有与曲面相关的函数和方法都可以在dojox.gfx.Surface的官方文档中找到。在dojox/gfx/tests/
中可以找到使用示例。
https://stackoverflow.com/questions/683366
复制相似问题