Javascript 在Dynamic JS中加载多个图像时出现可拖动问题
我试图从一个JSON文件中添加多个位置不同的图像,我成功地将图像放置在准确的位置,但问题是如果我尝试拖动图像,它会将自身定位在画布顶部Javascript 在Dynamic JS中加载多个图像时出现可拖动问题,javascript,jquery,json,draggable,kineticjs,Javascript,Jquery,Json,Draggable,Kineticjs,我试图从一个JSON文件中添加多个位置不同的图像,我成功地将图像放置在准确的位置,但问题是如果我尝试拖动图像,它会将自身定位在画布顶部 你知道它为什么会这样吗?现在你正在为每一张图像创建一个新层。这不是KJS的工作方式 首先创建一个阶段,然后创建一个层,然后将所有图像添加到此层。 也许这会解决问题。更详细地说,当你移动一幅图像时,只有它所在的层会被重新绘制,因此图像现在看起来是在顶部。 $.ajax({ type: 'get', url: myUrl,
你知道它为什么会这样吗?现在你正在为每一张图像创建一个新层。这不是KJS的工作方式 首先创建一个阶段,然后创建一个层,然后将所有图像添加到此层。
也许这会解决问题。更详细地说,当你移动一幅图像时,只有它所在的层会被重新绘制,因此图像现在看起来是在顶部。
$.ajax({
type: 'get',
url: myUrl,
success: function(data) {
//alert("ajax");
$.each(data, function(idx, obj) {
createImage(obj.id, obj.mPosX, obj.mPosY);
});
},
contentType: "application/json",
dataType: 'json'
});
function createImage(mId, curX, curY) {
var layer2 = new Kinetic.Layer();
var imageObj = new Image();
imageObj.src = 'img/pawn.png';
imageObj.onload = function() {
pImage[mId] = new Kinetic.Image({
x: curX,
y: curY,
image: imageObj,
draggable:true,
id: pImage[mId]
});
layer2.add(pImage[mId]);
layer2.setScale(cur_scale);
stage.add(layer2);
};
}