You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无服务器环境下随机图片无限滚动功能失效问题求助

修复本地JSON变量的图片加载问题

嗨,我一眼就看到问题出在哪啦!你把图片数据从JSON文件移到本地var变量后,居然还在用fetch()去处理它——这可不行哦!fetch()是用来发起网络请求拿远程资源(比如你之前的JSON文件)的,现在imgJson已经是一个现成的JavaScript对象了,完全不需要再走fetch那套异步解析流程。

直接修改你的getData函数就能解决问题,去掉多余的网络请求逻辑,直接用本地的对象就行:

var imgJson = {"items":[{"id": 1,"img": 'https:\/\/picsum.photos\/200\/300'},{"id": 2,"img": 'https:\/\/picsum.photos\/201\/301'},{"id": 3,"img": 'https:\/\/picsum.photos\/202\/302'},{"id": 4,"img": 'https:\/\/picsum.photos\/203\/303'}]}

getData();
function getData(){
  let main = document.querySelector("main");
  console.log("loading local image data");
  // 直接遍历本地的imgJson数组,不需要fetch
  imgJson.items.forEach(item => {
    let fig = document.createElement("figure");
    let img = document.createElement("img");
    img.src = item.img;
    fig.appendChild(img);
    main.appendChild(fig);
  });
}

$(document).ready(function(){
  $(".button").click(function(){
    $(this).addClass("active");
    setTimeout(function(){
      $(".button").removeClass("active");
    },2000);
  });
});

补充说明:

  • 这样修改后,点击"Load more"按钮就会直接读取本地的图片数据,创建图片元素并渲染到页面,完全不需要依赖服务器。
  • 你URL里的转义斜杠\/是正常的,JavaScript会自动解析成普通的/,不会影响图片加载。
  • 如果后续要加更多图片,直接往imgJson.items数组里追加新的对象就行,比如:
    var imgJson = {"items":[
      {"id": 1,"img": 'https:\/\/picsum.photos\/200\/300'},
      {"id": 2,"img": 'https:\/\/picsum.photos\/201\/301'},
      {"id": 5,"img": 'https:\/\/picsum.photos\/204\/304'}, // 新增图片
      {"id": 6,"img": 'https:\/\/picsum.photos\/205\/305'}  // 新增图片
    ]}
    

内容的提问来源于stack exchange,提问作者Mimimi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 18:47:43