Html 图像滑块仅显示1个图像

Html 图像滑块仅显示1个图像,html,ruby-on-rails,Html,Ruby On Rails,我正在为我的rails应用程序使用codepen中的示例幻灯片放映代码,幻灯片放映正常,但对于包含多个图像的帖子,只显示一个图像。问题一定是在李类导航点,我不知道确切地包括在那里。我只想使用导航点在图像中滚动,这就是为什么示例中缺少下一个和上一个导航箭头的原因 <% if @post.images.attached? %> <ul class="slides"> <% @post.images.each_with_index do |image, in

我正在为我的rails应用程序使用codepen中的示例幻灯片放映代码,幻灯片放映正常,但对于包含多个图像的帖子,只显示一个图像。问题一定是在李类导航点,我不知道确切地包括在那里。我只想使用导航点在图像中滚动,这就是为什么示例中缺少下一个和上一个导航箭头的原因

<% if @post.images.attached?  %>
  <ul class="slides">
    <% @post.images.each_with_index do |image, index| %>
      <input type="radio" name="radio-btn" data-id="<%= index %>" checked />
      <li class="slide-container">
        <div class="slide">
          <%= image_tag image, size: "250x250" %>
        </div>
      </li>
      <li class="nav-dots">
        <label for="<%= image %>" class="nav-dot" data-id="<%= index %>"></label>
      </li>
    <% end %>
  </ul>
<% end %>

示例代码

<ul class="slides">
    <input type="radio" name="radio-btn" id="img-1" checked />
    <li class="slide-container">
        <div class="slide">
            <img src="http://farm9.staticflickr.com/8072/8346734966_f9cd7d0941_z.jpg" />
        </div>
        <div class="nav">
            <label for="img-6" class="prev">&#x2039;</label>
            <label for="img-2" class="next">&#x203a;</label>
        </div>
    </li>

    <input type="radio" name="radio-btn" id="img-2" />
    <li class="slide-container">
        <div class="slide">
          <img src="http://farm9.staticflickr.com/8504/8365873811_d32571df3d_z.jpg" />
        </div>
        <div class="nav">
            <label for="img-1" class="prev">&#x2039;</label>
            <label for="img-3" class="next">&#x203a;</label>
        </div>
    </li>

    <input type="radio" name="radio-btn" id="img-3" />
    <li class="slide-container">
        <div class="slide">
          <img src="http://farm9.staticflickr.com/8068/8250438572_d1a5917072_z.jpg" />
        </div>
        <div class="nav">
            <label for="img-2" class="prev">&#x2039;</label>
            <label for="img-4" class="next">&#x203a;</label>
        </div>
    </li>

    <input type="radio" name="radio-btn" id="img-4" />
    <li class="slide-container">
        <div class="slide">
          <img src="http://farm9.staticflickr.com/8061/8237246833_54d8fa37f0_z.jpg" />
        </div>
        <div class="nav">
            <label for="img-3" class="prev">&#x2039;</label>
            <label for="img-5" class="next">&#x203a;</label>
        </div>
    </li>

    <input type="radio" name="radio-btn" id="img-5" />
    <li class="slide-container">
        <div class="slide">
          <img src="http://farm9.staticflickr.com/8055/8098750623_66292a35c0_z.jpg" />
        </div>
        <div class="nav">
            <label for="img-4" class="prev">&#x2039;</label>
            <label for="img-6" class="next">&#x203a;</label>
        </div>
    </li>

    <input type="radio" name="radio-btn" id="img-6" />
    <li class="slide-container">
        <div class="slide">
          <img src="http://farm9.staticflickr.com/8195/8098750703_797e102da2_z.jpg" />
        </div>
        <div class="nav">
            <label for="img-5" class="prev">&#x2039;</label>
            <label for="img-1" class="next">&#x203a;</label>
        </div>
    </li>

    <li class="nav-dots">
      <label for="img-1" class="nav-dot" id="img-dot-1"></label>
      <label for="img-2" class="nav-dot" id="img-dot-2"></label>
      <label for="img-3" class="nav-dot" id="img-dot-3"></label>
      <label for="img-4" class="nav-dot" id="img-dot-4"></label>
      <label for="img-5" class="nav-dot" id="img-dot-5"></label>
      <label for="img-6" class="nav-dot" id="img-dot-6"></label>
    </li>
</ul>
  • ‹; ›;
  • ‹; ›;
  • ‹; ›;
  • ‹; ›;
  • ‹; ›;
  • ‹; ›;

我修复了代码。这应该行得通

<% if @post.images.attached?  %>
  <% indexes = [*1..@post.images.size] %>
  <ul class="slides">
    <% @post.images.each_with_index do |image, index| %>
      <input type="radio" name="radio-btn" id="img-<%= indexes[index] %>" <%= 'checked' if index == 0 %> />
      <li class="slide-container">
        <div class="slide">
          <%= image_tag image %>
        </div>
        <div class="nav">
          <label for="img-<%= indexes[index - 1] %>" class="prev">&#x2039;</label>
          <label for="img-<%= indexes[(index + 1) % indexes.last] %>" class="next">&#x203a;</label>
        </div>
      </li>
    <% end %>
    <li class="nav-dots">
      <% indexes.each do |i| %>
        <label for="img-<%= i %>" class="nav-dot" id="img-dot-<%= i %>"></label>
      <% end %>
    </li>
  </ul>
<% end %>

  • ‹; ›;