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

标签 javascript jquery

我有以下问题。

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

$('#ModalArtImage img').load(function(){ 
    $('#ModalArtImage').css('visibility','visible').zIndex(9999);
});

这很好用。

要关闭刚刚打开的 DIV(图像容器),我使用这个

$('.imgWindow').on('click', function(){
    $(this).parent().css('visibility','hidden');
});

.imgWindow 是总窗口(Imagecontainer)。

如果我关闭图像容器并再次按该图标,则图像已从 第一次点击,它不会访问 .load(),因此 imagecontainer 不再显示。

我使用.load()的原因是,我不想在应该显示的图像完全加载之前显示图像容器。所以我尝试通过 .load('img') 检查它的实际效果。

有办法解决这个问题吗?

编辑:

现在解决这个问题:

if( $('#ModalArtImage img').prop('complete') )
{
    $('#ModalArtImage').css('visibility','visible').zIndex(9999);
}
else
{
    $('#ModalArtImage img').load(function(){ 
        $('#ModalArtImage').css('visibility','visible').zIndex(9999);
    });
}

感谢sahbeewah

最佳答案

img 元素上有一个 complete 属性,用于显示图像是否已完成加载。

var showImage = function() {
    $('#ModalArtImage').css('visibility','visible').zIndex(9999);
};

var $img = $('#ModalArtImage img');

if ($img.prop('complete')) {
    showImage();
} else {
    $img.load(showImage);
}

关于javascript - 如果图像已经加载,如何传递 .load() ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25866658/

相关文章:

javascript - 如何从输入类型访问文件名和其他属性被隐藏

javascript - 隐藏带有 slideUp Jquery 问题的选项卡

jquery - 在多个类的单个实例上切换动画

javascript - 删除后的涡轮链接/重定向

javascript - 阻止 React 高阶组件在包装组件之前安装?

javascript - Canvas Javascript 绘图功能不起作用

Javascript 查找字符串是否以正斜杠结尾

javascript - 使用 javascript 和 jquery 为一串值编写 HTML?

javascript - 在执行奇怪的步骤序列之前,拆分器无法工作

javascript - 在 Ajax xhr 响应上使用 jQuery.filter 和 jQuery.find 时的不同结果