Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果图像已加载,如何传递.load()?_Javascript_Jquery - Fatal编程技术网

Javascript 如果图像已加载,如何传递.load()?

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

我有以下问题

我有一个Web应用程序,如果我单击图标,它会显示一个图像

$('#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重建这个