我有一些可以缩放的预览图像。 如果用户单击“缩放”,则将缓存图像:

var zoomImg = new Image();
      zoomImg.onload = function() {
      image.attr('src', zoomlist[currentFrame]);
   });

我需要知道的是如何检查图像是否已缓存,以及是否应该显示加载程序。

#1楼 票数:3

您可以像这样使用属性选择器。

if($('img[src="imageSource"]').length){
     //Image is present
}

注意:这将在DOM中找到img元素,而不是缓存。

#2楼 票数:1 已采纳

您可以通过检查图像的complete和readystate属性来检查图像是否被缓存。

var zoomImg = new Image();
zoomImg.src = zoomlist[currentFrame];
if (zoomImg.complete || zoomImg.readystate === 4) {
    image.attr('src', zoomlist[currentFrame])
}
else {
    showLoader();
    zoomImg.onload = function() {
        hideLoader();
        image.attr('src', zoomlist[currentFrame]);
    });
}

  ask by Sobakinet translate from so

未解决问题?本站智能推荐:

1回复

jQuery - 将单击的 HTML 元素的属性放入图像的 src

我有一个 HTML 站点,其中包含一些带有链接的图片。 当点击图片/链接时,我希望图片在同一页面上打开而不遵循链接。 我还希望页面的其余部分被黑色覆盖。 我的想法是添加 a 和 an 以及指向 HTML 正文的 cliked 链接的 src。 但是当我尝试获取 src 属性时,它总是“未定义”。
1回复

jQuery和jVal验证插件。 向元素添加属性

我正在尝试将jVal属性添加到在HTML中创建的文本框中。 我会改为在JavaScript中添加/ set jVal。 2个原因- 1st:我无需搜索HTML即可查看每个项目的验证方式 2nd:我们使用的是jqGrid,我想将此验证添加到动态创建的每个文本框中。
3回复

如何在javascript或jquery中获取具有相同属性的不同值的元素?

我需要找到具有相同属性的不同值的元素...这可以 - > $data.find("div[data-alpha='1']"); 但是我需要像这样的东西 - > $data.find('div[data-alpha='1']' + 'div[data-alpha='2'] ' ...
2回复

jQuery:DOM元素:属性:查询和创建

我对jQuery有一些与属性有关的问题: 是否可以使用jQuery或DOM API调用来列出或克隆DOM元素的所有属性。 如果知道属性名称,则可以通过jQuery.attr()API调用来执行此操作,但是如果不知道,有没有办法? 除了明显地动态加载新脚本之外,是否还有一个jQ
1回复

DOM元素数组上的jQuery选择行为

假设一个查询。 在我的情况下,此查询将返回一个对象数组,因为有一个数字与提供的选择器匹配。 如果我然后去做类似的事情。 我收到了一个结果。 我的问题是这个。 jQuery采用哪个元素? 显然,在这种情况下,不同的dom元素具有不同的属性,但它返回一个值。 它只是
2回复

遍历DOM树并检查是否有任何父类

我有一个HTML DOM对象,并且选择了所有具有以下属性的元素:data-reveal。 我想遍历这些元素并检查是否有具有类注释的父元素。 只有在班级不存在的时候,我才想做点什么。 我使用了其他帖子中建议的最接近的方法,但是代码未返回任何内容。 这是一个最小的HTML示例
3回复

jQuery的数据属性集不起作用

我试图找到一个具有匹配data-title值的'tr'元素,并为该元素设置data-qty值。 这是我尝试做的事情: data.order是带有{Coffee: "1"}的数组对象。 这是我的<tr> html: 我要去哪里错了?
1回复

如何使用queryselector选择属性内的属性?

我想学习如何选择包含“组”一词的href 。 该href位于role="present"之下或之内。 请更正我的代码