【问题标题】:getting unknown path with Json使用 Json 获取未知路径
【发布时间】:2018-11-26 14:59:14
【问题描述】:
[
  {
    "src" : "./images/slide-1.png",
    "alt" : "Slide one"
  },
  {
    "src" : "./images/slide-2.png",
    "alt" : "Slide two"
  },
  {
    "src" : "./images/slide-3.png",
    "alt" : "Slide three"
  },
  {
    "src" : "./images/slide-4.png",
    "alt" : "Slide four"
  }
]

//slide show
  var slides = $('.sidenav li');
  var slideIndex = 0;
  var slideTime = animate();

  slideTo(slides[0]);

  slides.click(function() {

    clearInterval(slideTime);
    slideTime = animate();

    var selectedIndex = $(this).index();
    var slide = slides[selectedIndex];
    slideTo(slide);

  });

  function slideTo(slide) {
    slides.removeClass("selected");
     $(slide).addClass("selected");
     slideIndex = jQuery(slide).index();
 }

  function animate() {
    return setInterval(function() {
              var slide = slides[slideIndex];
              slideTo(slide)
              slideIndex++;
              if (slideIndex == slides.length) {
                slideIndex = 0;
              }
          }, 3000);
  }

  //Json
  var image = $('.sidenav li');
  $.getJSON('http://localhost:8080/data.json', function(result){
    var i = 0;
    var j = 0;
    console.log(result);
    for (j = 0 ; j<result.length ; j++) {
      $('.sidenav').append('<li class="selected"><img src="" alt=""></li>');
    }

    image.each(function(e){
        $(this).find('img').attr('src',result[i].src);
        $(this).find('img').attr('alt',result[i].alt);
        i++;
    });
  });


<section class="section-slider">
    <div class="wrapper">
      <div class="content">
        <div class="inner-cont">
          <div class="title">
            <h1 class="black title-section">EXPECT NOTHING ORDINARY</h1>
          </div>
          <p class="txt black">
            Eastern & Oriental Plc is an AIM quoted real estate company, headquartered in the United Kingdom and focused on the development of residential and mixed-use assets in the London and the South East of England.
          </p>
          <div class="bot-link">
            <a href="javascript:;">VIEW OUR COMPANY PROFILE<span class="s s-right_arrow"><span class="hide">arrow</span></span></a>
          </div>
          <div class="anchor-sign">
            <a class="anchor-link" href="#s-three"><span class="s s-next"><span class="hide">arrow</span></span></a>
          </div>
        </div>
      </div>
      <div class="slider">
        <ul class="sidenav">
          <!-- <li class="selected"><img src=" " alt=""></li>
          <li><img src=" " alt=""></li>
          <li ><img src=" " alt=""></li>
          <li><img src=" " alt=""></li> -->
        </ul>
      </div>
    </div>
  </section>

我把代码放在第一位,所以现在我可以写问题了。我正在尝试制作幻灯片。正如您在.sidenav 中看到的,我有4 个&lt;li&gt; 元素被注释。它们应该用 Jquery 添加并用 JSON 填充。在 JSON 部分,我尝试为每个 img 创建一个 &lt;li&gt; ...在这种情况下有 4 个元素,并用 srcalt 填充它们。但是,我得到的只是空的。没有 。没有错误,但是当我检查是否添加了某些内容时,我可以看到:

为什么不知道?有什么想法吗?

【问题讨论】:

  • 因为&lt;li&gt;&lt;img src=" " alt=""&gt;&lt;/li&gt; "src" 是空的
  • @J.vee 它必须是空的......我需要用 Jquery 和 JSON 填充它
  • 尝试取消注释&lt;!-- &lt;li class="selected"&gt;&lt;img src=" " alt=""&gt;&lt;/li&gt; &lt;li&gt;&lt;img src=" " alt=""&gt;&lt;/li&gt; &lt;li &gt;&lt;img src=" " alt=""&gt;&lt;/li&gt; &lt;li&gt;&lt;img src=" " alt=""&gt;&lt;/li&gt; --&gt;

标签: html css json ajax slideshow


【解决方案1】:

由于我无法复制您的确切代码和值,我在下面做了一个简单的 sn-p。

我不知道你为什么使用i++,因为each函数有一个索引作为参数,你可以使用它。

在下面的 sn-p 中,一切正常(我认为)如您所料。

let result = [{
  "src": "./images/slide-1.png",
  "alt": "Slide one"
}, {
  "src": "./images/slide-2.png",
  "alt": "Slide two"
}, {
  "src": "./images/slide-3.png",
  "alt": "Slide three"
}, {
  "src": "./images/slide-4.png",
  "alt": "Slide four"
}, {
  "src": "./images/slide-5.png",
  "alt": "Slide five"
}, {
  "src": "./images/slide-6.png",
  "alt": "Slide six"
}];

for (i = 0; i < result.length; i++) {

  $('.image').append(`<li class="selected"><img src="${result[i].src}" alt="${result[i].alt}"></li>`);
  
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<ul class="image">

</ul>

【讨论】:

  • 是的,但如果有人再添加 1 张图片,这将不再起作用......我需要动态添加它。我必须首先为我在 JSON 中的每个图像制作 li/div-s 。比用相同的图像填充它们。这一切都必须自动生成。
  • 这不是您最初问题的一部分。所以你想要动态生成的 JSON 或 html 结构?或者你如何获得图像 src ?当有人添加新图像时,它会添加到 JSON 中?
  • 我有 JSON。我想要一个用 jquery 动态生成的 HTML,而不是用我在 Json 中的图像源动态填充 srcalt 标签
  • 如果你只有一个.image,怎么可能是$(image).each
  • 这行得通!好的 !我现在可以看到我的图像,但幻灯片现在没有移动图片……嗯……嗯,这解决了我的部分问题!谢谢::)
猜你喜欢
  • 2022-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-19
  • 2021-11-25
  • 2021-10-24
  • 1970-01-01
相关资源
最近更新 更多