我从几个博客中找到了一些代码,我已经对自己进行了一些调整,以显示适合我目前情况的视网膜图像,以及如何为视网膜设备显示更大的图像。当前代码只是将最后一个字母替换为字母“L”。
当前脚本完美运行,因为我所有的小图像都有“S.jpg”,而我所有的大图像都是“L.jpg”。
我该如何检查是否存在较大的版本,如果不存在则恢复/保留小版本。目前它试图显示大,无论它是否存在。
我的html是这样的:(我不想在HTML中添加任何额外的标签。即'-data-retina')
<img class="hires" alt="Image Name" src="/images/imageS.jpg" />
这是我当前的 jQuery:
if (window.devicePixelRatio == 2) {
var images = $("img.hires");
// loop through the images and make them hi-res
for (var i = 0; i < images.length; i++) {
// create new image name
var imageType = images[i].src.substr(-4);
var imageName = images[i].src.substr(0, images[i].src.length - 5);
imageName += "L" + imageType;
//rename image
images[i].src = imageName;
}
我知道有一些预制插件可以完成这项工作,但它们要么要求我将大图像添加到 IMG 标签的 html 源中,这对我来说并不理想。我只希望它与给定的类名一起工作。不是全部。