Javascript 如果图像已加载,如何传递.load()?
我有以下问题 我有一个Web应用程序,如果我单击图标,它会显示一个图像Javascript 如果图像已加载,如何传递.load()?,javascript,jquery,Javascript,Jquery,我有以下问题 我有一个Web应用程序,如果我单击图标,它会显示一个图像 $('#ModalArtImage img').load(function(){ $('#ModalArtImage').css('visibility','visible').zIndex(9999); }); 这个很好用 要关闭刚刚打开的DIV(Imagecontainer),我使用 $('.imgWindow').on('click', function(){ $(this).parent().cs
$('#ModalArtImage img').load(function(){
$('#ModalArtImage').css('visibility','visible').zIndex(9999);
});
这个很好用
要关闭刚刚打开的DIV(Imagecontainer),我使用
$('.imgWindow').on('click', function(){
$(this).parent().css('visibility','hidden');
});
.imgWindow
是总窗口(Imagecontainer)
如果关闭Imagecontainer并再次按下图标,则图像已从中加载
首先单击,它将无法访问.load()
,因此imagecontainer不再显示
我使用.load()
的原因是,我不想在应该显示的图像完全加载之前显示imagecontainer。所以我试着通过.load('img')
实际工作的内容来检查它
有办法解决这个问题吗
编辑:
现在解决这个问题如下:
if( $('#ModalArtImage img').prop('complete') )
{
$('#ModalArtImage').css('visibility','visible').zIndex(9999);
}
else
{
$('#ModalArtImage img').load(function(){
$('#ModalArtImage').css('visibility','visible').zIndex(9999);
});
}
thx tosahbeewah在
img
元素上有一个complete
属性,显示图像是否已完成加载
var showImage = function() {
$('#ModalArtImage').css('visibility','visible').zIndex(9999);
};
var $img = $('#ModalArtImage img');
if ($img.prop('complete')) {
showImage();
} else {
$img.load(showImage);
}
你会做小提琴吗?我会,但我不会,这是一个大项目,包括很多东西和自定义函数。实际上解释得很简单,但这只是因为我谈到了主要问题:)Img是由php创建并传递给jquery的,所以有时传递的代码是相等的,因为imagename是相同的。在这种情况下,系统认为一切都没有改变。我不能用纯javascript/jquery重建这个