我使用 Javascript 创建了一个自定义控件,您可以在其中在图标之间滑动,并且任何时候屏幕中间的图标都会被不同的图像替换,问题是有时新图像不会更新,当我检查源代码,我可以看到我的 img 标签设置了新图像,如下图所示:
(请注意,页面中的图标是蓝色的,而根据 src 应该是绿色的)
在这之后,如果我尝试使用控制台更改页面中任何图像的 src,它将不起作用,页面 Javascript 仍然可以正常工作,但我不能再更改任何图像 src。
这是我用来更新图像的 Javascript,请注意,我在更新 src 之前更新了图像类。
// update selected item class
document.getElementById("scroll-item-" + selectItemId).className = "scroll-item-selected";
// update selected item image
var currentItemImageElement = document.getElementById("scroll-image-" + $scope.currentSelectItemId);
currentItemImageElement.src = currentItemImageElement.src.substring(0, currentItemImageElement.src.length - 11) + ".png";
// update selected image class
currentItemImageElement.className = "icon-img";
最佳答案
我会尝试预加载您的图片,或者:
- Sprite ,因为您正在添加类
img
标记在 DOM 中,带有display: none
作为穷人的预加载器
然后看看你是否还有问题。我最初的想法是您的图片尚未加载,您看到的是其中的人工制品。
关于Javascript - 使用 Javascript 更改 img 标签 src 有时不会反射(reflect),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28010404/