助けが必要です..それがkinetic.jsライブラリの問題なのか、ここで何か間違っているのかわかりません.. windows.onloadに2つの画像を読み込んでいると、キャンバスの外側に画像のセットがあり、正常に機能しているキャンバス内に配置している画像..(これを行うことにより、キャンバスの外部から任意の画像をロードするために1つの関数を使用しました..画像のセット:
<li>
<a href="javascript:void(0)" onclick="loadWithType(document.getElementById('i3'))">
<img src="<?php echo base_url()?>images/eagle/baby1.png" id="i3" alt="Pulpitrock"width="100" height="120" /></a>
<a href="javascript:void(0)" onclick="removewithType(document.getElementById('i3'))">Close</a>
</li>
<li>
<a href="javascript:void(0)" onclick="loadWithType(document.getElementById('i4'))">
<img src="<?php echo base_url()?>images/eagle/pattern-1.png" id="i4" alt="Pulpit rock" width="100" height="120" /></a>
<a href="javascript:void(0)" onclick="removewithType(document.getElementById('i4'))">Close</a>
</li>
画像の読み込み
function loadWithType(img){
var sources = {
yoda1 : img.src,
};
loadImages(sources,initStage1);
};
関数(位置とすべてを定義する)
function initStage1(images){
layert = new Kinetic.Layer();
var yoda1 = new Kinetic.Image({
image: images.yoda1,
x: 106,
y: 0,
width: 180,
height: 220,
draggable:true,
detectionType: "pixel"
});
/*
* check if animal is in the right spot and
* snap into place if it is
*/
yoda1.on("dragend", function() {
layert.draw();
// disable drag and drop
yoda1.saveImageData();
});
layert.add(yoda1);
stage.add(layert);
yoda1.saveImageData();
}
これは正常に機能しています..(画像をクリックすると画像が読み込まれます)
しかし、ボタンを閉じることで画像を削除しようとすると、最新の画像が削除され、その後ライブラリがエラーをスローするので問題が発生します。私はこのようなことをしています。
function removewithType(img){
var sources = {
yoda1 :img.src,
};
loadImages(sources,removeStage1);
}
function removeStage1(images){
var yoda1 = new Kinetic.Image({
image: images.yoda1,
x: 106,
y: 0,
width: 180,
height: 220,
draggable:true,
});
layert.clear();
stage.remove(layert);
layert.draw();
}
ここでまず最初に..layert.remov(yoda1)関数が機能していません。
この関数は予期しない動作をしています。
任意のポインタ
ありがとう..