【发布时间】:2012-03-23 16:58:23
【问题描述】:
我正在尝试使用 html5 img 标签将多个图像加载到画布上。
并且图像是可替换的。例如,有 5 个图像列表
图片也可以拖动
并且单击特定图像会替换同一列表中最后上传的图像,
我面临的问题是,当我上传一个新元素时,它会出现在其他元素之上。
和底部元素的 onclick 我希望它移动到顶部并拖动。
我尝试使用名为 move to top 的 kineticjs 函数,但没有发生任何事情。我还检查了库,一切正常...
我无法在此处粘贴完整代码,因为它太大了。
这是我尝试添加移动到顶部功能的部分:
function drawImageOnLayer(layer, img) {
var x = stage.width / 2 - 100 ;
var y = stage.height / 2 - 200 ;
var width = 200;
var height = 400;
var kinecticImg = new Kinetic.Shape(function(){
var context = this.getContext();
context.drawImage(img, x, y, width, height);
// draw invisible detectable path for image
context.beginPath();
context.rect(x, y, width, height);
context.closePath();
});
// enable drag and drop
kinecticImg.draggable(true);
此功能无效
kinecticImg.on("mousedown", function(){
this.moveToTop();
layer.draw();
结束
});
layer.clear();
layer.add(kinecticImg);
layer.draw();
}
【问题讨论】:
-
@Andy 这个问题缺少我们需要的一些东西:一个实际的错误“不工作”是不够的”,一种重现问题的方法,一个我们可以用来调试问题的 MVCE;甚至是一个好标题。我不只是做“.NET”;我使用 JavaScript、MSSQL Server、Angular、C#、Python、Perl 等工作。此外,我使用的语言与是否独立一个问题写得很好,让我们能够真正解决 OPs 问题。
标签: javascript image drag-and-drop html5-canvas kineticjs