【问题标题】:Bootstrap carousel shows first image only even though it's sliding to the next onesBootstrap 轮播仅显示第一个图像,即使它正在滑动到下一个图像
【发布时间】:2018-02-06 16:07:02
【问题描述】:

我的引导轮播包含 4 张图片。滑动/轮播本身工作正常,但不知何故只显示第一张图片,而当滑动到图片 2-4 时,屏幕只滑动到空白区域,显示图像描述。

<div id="carousel" class="carousel slide" data-ride="carousel">
<ol class="carousel-indicators">
  <li data-target="#carousel" data-slide-to="0" class="active"></li>
  <li data-target="#carousel" data-slide-to="1"></li>
  <li data-target="#carousel" data-slide-to="2"></li>
  <li data-target="#carousel" data-slide-to="3"></li>
</ol>
<div class="carousel-inner" role="listbox">
  <div class="item active">
    <img class="d-block img-fluid" src="{{ asset('img/key-visuals/01-lh.jpg') }}" alt="First slide">
  </div>
  <div class="item">
    <img class="d-block img-fluid" src"{{ asset('img/key-visuals/02-lx.jpg') }}" alt="Second slide">
  </div>
  <div class="item">
    <img class="d-block img-fluid" src"{{ asset('img/key-visuals/03-os.jpg') }}" alt="Third slide">
  </div>
  <div class="item">
    <img class="d-block img-fluid" src"{{ asset('img/key-visuals/04-sn.jpg') }}" alt="Fourth slide">
  </div>
</div>
<a class="carousel-control left" href="#carousel" data-slide="prev">
  <span class="icon-prev left"></span>
</a>

<a class="carousel-control right" href="#carousel" data-slide="next">
  <span class="icon-next right"></span>
</a>

目前,仅显示第一张图片 (01-lh),但是当例如将我的第二张图片 (02-lx) 中的 src 放入而不是第一张,该图片会显示,但其他图片均不显示。等等..

有什么想法吗?

【问题讨论】:

    标签: html twitter-bootstrap symfony carousel bootstrap-carousel


    【解决方案1】:

    因为你忘记在img 标签的src 属性后面加上等于

    <div id="carousel" class="carousel slide" data-ride="carousel">
    <ol class="carousel-indicators">
      <li data-target="#carousel" data-slide-to="0" class="active"></li>
      <li data-target="#carousel" data-slide-to="1"></li>
      <li data-target="#carousel" data-slide-to="2"></li>
      <li data-target="#carousel" data-slide-to="3"></li>
    </ol>
    <div class="carousel-inner" role="listbox">
      <div class="item active">
        <img class="d-block img-fluid" src="{{ asset('img/key-visuals/01-lh.jpg') }}" alt="First slide">
      </div>
      <div class="item">
        <img class="d-block img-fluid" src="{{ asset('img/key-visuals/02-lx.jpg') }}" alt="Second slide">
      </div>
      <div class="item">
        <img class="d-block img-fluid" src="{{ asset('img/key-visuals/03-os.jpg') }}" alt="Third slide">
      </div>
      <div class="item">
        <img class="d-block img-fluid" src="{{ asset('img/key-visuals/04-sn.jpg') }}" alt="Fourth slide">
      </div>
    </div>
    <a class="carousel-control left" href="#carousel" data-slide="prev">
      <span class="icon-prev left"></span>
    </a>
    
    <a class="carousel-control right" href="#carousel" data-slide="next">
      <span class="icon-next right"></span>
    </a>
    

    【讨论】:

      【解决方案2】:

      您正在使用 Bootstrap 4,但仍然依赖于过时的 Bootstrap 3 类名。根据 Bootstrap 的更新指南,item 应该是 carousel-item

      https://getbootstrap.com/docs/4.0/components/carousel/#example

      <div id="carouselExampleIndicators" class="carousel slide" data-ride="carousel">
        <ol class="carousel-indicators">
          <li data-target="#carouselExampleIndicators" data-slide-to="0" class="active"></li>
          <li data-target="#carouselExampleIndicators" data-slide-to="1"></li>
          <li data-target="#carouselExampleIndicators" data-slide-to="2"></li>
        </ol>
      
        <div class="carousel-inner">
          <div class="carousel-item active">
            <img class="d-block w-100" src="..." alt="First slide">
          </div>
      
          <div class="carousel-item">
            <img class="d-block w-100" src="..." alt="Second slide">
          </div>
      
          <div class="carousel-item">
            <img class="d-block w-100" src="..." alt="Third slide">
          </div>
        </div>
      
        <a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev">
          <span class="carousel-control-prev-icon" aria-hidden="true"></span>
          <span class="sr-only">Previous</span>
        </a>
      
        <a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next">
          <span class="carousel-control-next-icon" aria-hidden="true"></span>
          <span class="sr-only">Next</span>
        </a>
      </div>
      

      【讨论】:

      • 使用 carousel-item,carousel 根本不工作,没有滑动等,所以这不是真正的解决方案:/
      • 一旦您纠正了@Varsha 指出的src 问题,您应该重新熟悉BS4s 结构,以便应用正确的类名。
      • 你是对的,但我该如何调整呢?它不适用于轮播项目
      • @sonja - 我认为它适用于 item 但不适用于 carousel-item 的唯一原因是您实际上正在加载 Bootstrap 3。我假设您使用的是 BS4,因为您是使用img-fluid 而不是img-responsive 以及d-block
      猜你喜欢
      • 2014-09-15
      • 2015-11-23
      • 2015-10-12
      • 2021-03-15
      • 1970-01-01
      • 2015-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多