我正在利用jquery用图像填充一些div。当我点击一个jstree节点时,div应该填充。虽然目录中有图像,但是有时候我对图像的调用会变回空白。
以下是一段显示我正在做的事情的代码:
}).bind("select_node.jstree", function (event, data) {
var ImgTeamA;
ImgTeamA = "img/"+node_id+"-teamA.png";
myImg1 = new Image;
myImg1.src=ImgTeamA
alert(myImg1.width);
alert(myImg1.src)
$("#div1").html(myImg1).css("border","1px solid");
问题是这个。尽管myImg1存在于img目录中,但是alert(myImg1.width)有时会显示为0.当我再次单击该节点时,div1会显示该图像。这是零星的。有时单击会显示图像,有时我必须双击该节点。任何人都可以给我一些指示如何解决这个问题。
答案 0 :(得分:0)
在将图像加载到浏览器之前,您无法获得图像的宽度,请尝试以下方法:
}).bind("select_node.jstree", function (event, data) {
var myImg1 = new Image;
myImg1.src = "img/"+node_id+"-teamA.png";
myImg1.onload = function() {
alert(myImg1.width);
alert(myImg1.src);
}
$("#div1").html(myImg1).css("border","1px solid");
});