可以通过缓存图片的方式来防止同一张图片多次加载。可以使用一个对象来存储已经加载过的图片,每次点击图片时先检查是否已经加载过,如果已经加载过,则直接使用缓存的图片,否则再进行网络加载。

以下是一个示例代码:

var imageCache = {};

$('img').click(function() {
  var imageUrl = $(this).attr('src');
  
  if (imageCache[imageUrl]) {
    // 使用缓存的图片
    layer.open({
      content: '<img src="' + imageCache[imageUrl] + '">'
    });
  } else {
    // 网络加载图片
    var image = new Image();
    image.onload = function() {
      // 缓存图片
      imageCache[imageUrl] = imageUrl;
      layer.open({
        content: '<img src="' + imageUrl + '">'
      });
    };
    image.src = imageUrl;
  }
});

在这个示例中,首先定义了一个imageCache对象来缓存已加载的图片。当点击图片时,首先获取图片的URL,然后检查是否已经存在于缓存中,如果存在则直接使用缓存的图片,否则创建一个新的Image对象进行网络加载,并在加载完成后将图片URL存储到缓存中,然后再使用layer.open弹出图片。这样就能够避免同一张图片多次加载了

jsjquery 点击图片 用layeropen弹出显示 每次点击图片都会被网络加载一次 如何防止同一张图片多次加载

原文地址: https://www.cveoy.top/t/topic/hRLf 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录