この質問を数回しましたが、どの提案も機能していないようです。
jstree プラグインを使用してツリーを構築しています。node_id に基づいて、いくつかの div に画像をロードしようとしています。それはちょっと動作しますが、散発的な画像表示の問題があります。ダブルクリックが必要な場合もあれば、シングルクリックで画像が表示される場合もあります。
私はこれを試しました:
img1 = new Image;
img1.src="teamA.png";
img2 = new Image;
img2.src="teamB.png";
img1.onload = function()
{
$("#div1").html(img1;
}
などですが、これは機能していません。散発的に画像がdivに表示されるようになりました。
私は次のようにjqueryプラグインimgpreloadを見始めました:
$.imgpreload(['img1','img2', 'img3','img4','img5','img6'],
{
each: function() {
$(this).data('loaded')
$("#div1").html(img1);
}
});
これも機能していないようですが、アイデアやポイントはありますか?
私はこれをしました:
$(function () {
var myImage1 = new Image();
$(img1)
.load(function () {
});
.attr('src', 'teamA.png');
});
構文エラーが発生しています。これでよろしいでしょうか?
* 更新 *コードを次のように変更しました。
$(function () {
var myImage1 = new Image();
$(myImage1).load(function ()
{
})
.attr('src', 'teamA.png');
alert(myImage1.width);
$('#div1').html("myImage1").css({"border": "0", "background": "white"});
}
ロード機能の直後に、次のことを行っています。
alert(myImage.width) を呼び出して画像のサイズを確認すると、0 に戻っているため、これは機能していないようです。しっかりとイメージがあります。
更新 v2
$(function () {
var myImage1 = new Image();
$(myImage1).load(function ()
{
alert(myImage1.width);
$('#div1').html("myImage1").css({"border": "0", "background": "white"});
})
.attr('src', 'teamA.png');
});
わかりました、このコードは画像があると仮定して機能します。しかし、私がやりたいのは、画像がそこにない場合、その div を非表示にすることです。私はこのコードを持っていますが、ロード イベントでは機能しません。空の div を非表示にするにはどうすればよいですか?
$(function ()
{
var myImage1 = new Image();
$(myImage1).load(function ()
{
var image1Check = myImage1.width;
if (image1Check == 0 || image1Check < 30)
{
$('#div').html("").css("border", "");
}
else
{
$("#div1").html(myImage1).css("border","1px solid");
}
})
.attr('src', teamA.png);
});