Javascript jquery插件imgpreload

Javascript jquery插件imgpreload,javascript,jquery,Javascript,Jquery,这个问题我已经问过好几次了,但似乎没有一个建议奏效 我正在使用jstree插件构建树。基于node_id,我尝试将图像加载到一些div。它有点工作,但我有零星的图像显示问题。有时候我要双击,有时候单点显示图片 我试过这个: img1 = new Image; img1.src="teamA.png"; img2 = new Image; img2.src="teamB.png"; img1.onload = function() { $("#div1").h

这个问题我已经问过好几次了,但似乎没有一个建议奏效

我正在使用jstree插件构建树。基于node_id,我尝试将图像加载到一些div。它有点工作,但我有零星的图像显示问题。有时候我要双击,有时候单点显示图片

我试过这个:

  img1 = new Image;
  img1.src="teamA.png";

  img2 = new Image;
  img2.src="teamB.png";

      img1.onload = function()
 { 

$("#div1").html(img1;
    }  
等等,但这不起作用。我仍然能看到电视上偶尔出现的画面

我开始研究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"});



}
在加载函数之后,我正在执行以下操作:

警报(myImage.width)要查看图像的大小,它将返回0,因此这似乎不起作用。绝对有形象

更新v2

好的,这段代码在假设图像存在的情况下工作。但我喜欢做的是,如果图像不在那里,我喜欢隐藏那个div。我有这段代码,但它在load事件中不起作用。如何隐藏空的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);

    }); 
$(函数()
{ 
var myImage1=新图像();
$(myImage1).加载(函数()
{  
var image1Check=myImage1.width;
如果(image1Check==0 | | image1Check<30)
{
$('#div').html(“”.css(“border”);
}
其他的
{
$(“#div1”).html(myImage1.css(“边框”、“1px实体”);
}
})         
.attr('src',teamA.png);
}); 
您必须在if中使用$(this).data('loaded'):

each: function() {
  if ($(this).data('loaded')) {
    // do something
  }
},

在设置src之前绑定加载事件,若要处理丢失的映像,请使用
.error()


您的一些字符串文字周围没有引号,即
teamA.png“
而不是
teamA.png
,jQuery
每个
回调都引用了一个不存在的变量
myImage1
@arxanas引号是固定的,但这不是问题所在。在设置源之前绑定加载事件,以防止IE7和IE8@KevinB,怎么做?将所有.src行移到.load行之后。不喜欢此行:.attr('src','teamA.png');它说语法错误您在linux上吗?您的文件是teamA.png还是teamA.png?
each: function() {
  if ($(this).data('loaded')) {
    // do something
  }
},
$(function () { 
    var myImage1 = new Image(); 
    $(myImage1).load(function () {  
        $("#div1").html(myImage1).css("border","1px solid");
    }).attr('src', "teamA.png").error(function(){
        $('#div1').html("").css("border", "");
    });
});