javascript - 更改 src 属性不会更新图像

标签 javascript jquery image-gallery custom-data-attribute

作为图片库的一部分,我使用下面的代码在用户点击各种缩略图时切换图像元素上的 src 属性。自从我构建它以来,它的每个部分在大约 7 个月的时间里都运行良好,但在过去几周的某个时候,这部分代码停止工作了:

var nextLgSrc =  $('.gallery-image._'+selected).data('lgsrc');
$('.hero-image').attr('src', nextLgSrc);

nextLgSrc 成功返回一个绝对 URL 到将替换当前图像的图像。并且 img 元素的 src 实际上在单击缩略图时发生了变化,但图像不再发生变化。第一个(默认)图像保持卡住,即使 src 属性在其下方发生变化。

谁能告诉我可能发生了什么以及如何解决它?

如果有帮助,这里是完整库代码的链接,可以在上下文中查看它:http://pastebin.com/mae8YQi2

实际上,这里有一个无效页面的链接:http://penumbralux.com/project/marisol

最佳答案

因为当你点击第一张以外的图片时,

你只是在更新 imgsrc 属性。

在 chrome 上使用开发人员工具检查元素时,我注意到主图像的 srcset 属性也需要更新。我尝试了它,并且在更新该图像的 srcset 属性后它工作正常。

<img width="970" height="647" src="http://penumbralux.com/wordpress-2015/wp-content/uploads/2015/07/IMG_2349-970x647.jpg" class="hero-image wp-post-image" alt="Caption Test" data-smsrc="http://penumbralux.com/wordpress-2015/wp-content/uploads/2015/07/IMG_2363-100x100.jpg" data-lgsrc="Array" srcset="http://penumbralux.com/wordpress-2015/wp-content/uploads/2015/07/IMG_2363-300x200.jpg 300w, http://penumbralux.com/wordpress-2015/wp-content/uploads/2015/07/IMG_2363-1024x683.jpg 1024w, http://penumbralux.com/wordpress-2015/wp-content/uploads/2015/07/IMG_2363-750x500.jpg 750w, http://penumbralux.com/wordpress-2015/wp-content/uploads/2015/07/IMG_2349-970x647.jpg 970w" sizes="(max-width: 970px) 100vw, 970px">

所以在一个句子中,同时更新 srcsrcset

关于javascript - 更改 src 属性不会更新图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35192440/

相关文章:

javascript - 为新用户创建网站介绍/展示的 jQuery/JS 插件

java - Jquery .attr(attrname) 并不总是有效?

wordpress - WordPress 中的图片库

javascript - 如何定义多维混合数组(包括键和关联值) JavaScript

javascript - select2 和 select2 full 有什么区别?

javascript - TS 编译 - "noImplicitAny"不起作用

php - 为什么数据表默认不能按降序显示数据?

Javascript "Lightbox"具有垂直滚动拇指的图像库

javascript - 在所有 slideDowns/slideUps 完成后执行一个函数

javascript - 使用 Angular 更新 json