Bootstrap Carousel не работает (показывает все элементы на странице) - PullRequest
0 голосов
/ 25 октября 2018

Я пытаюсь создать карусель. Я создал структуру, но хочу, чтобы появилось только пять блоков, а затем шестой после щелчка стрелки.Как мне это сделать?

Мой подход : (принят отсюда )

img{
  border: 1px solid red;
  width: 100px;
  height: 100px;
  display: block;
}
ul{
  display: inline-block;
}
li{
  list-style-type: none;
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

<div id="myCarousel" class="carousel slide" data-ride="carousel">
  <div class="carousel-inner">
    <div class="item active">
      <!----------->
      <!-- CTA 1 -->
      <!----------->
      <ul class="clearfix">
        <li>
          <img src=""/>
          <span>Test 1</span>
        </li>
      </ul>
      <!----------->
      <!-- CTA 2 -->
      <!----------->
      <ul class="clearfix">
        <li>
          <img src=""/>
          <span>Test 2</span>
        </li>
      </ul>
      <!----------->
      <!-- CTA 3 -->
      <!----------->
      <ul class="clearfix">
        <li>
          <img src=""/>
          <span>Test 3</span>
        </li>
      </ul>
      <!----------->
      <!-- CTA 4 -->
      <!----------->
      <ul class="clearfix">
        <li>
          <img src=""/>
          <span>Test 4</span>
        </li>
      </ul>
      <!----------->
      <!-- CTA 5 -->
      <!----------->
      <ul class="clearfix">
        <li>
          <img src=""/>
          <span>Test 5</span>
        </li>
      </ul>
      <!----------->
      <!----------->

      <!-- TO APPEAR AFTER CONTROL CLICK -->

      <!----------->
      <!-- CTA 6 -->
      <!----------->
      <ul class="clearfix">
        <li>
          <img src=""/>
          <span>Test 6</span>
        </li>
      </ul>
    </div>
  </div>
  <!--=====================-->
  <!--== ON ARROW DISPLAY -==>  
  <!--=====================-->


  <!-- Left and right controls -->
  <a class="left carousel-control" href="#myCarousel" data-slide="prev">
    <span class="glyphicon glyphicon-chevron-left"></span>
    <span class="sr-only">Previous</span>
  </a>
  <a class="right carousel-control" href="#myCarousel" data-slide="next">
    <span class="glyphicon glyphicon-chevron-right"></span>
    <span class="sr-only">Next</span>
  </a>
</div>

В настоящее время, как вы можете видеть, изначально отображаются все шесть.Не уверен в том, что отличается между демо-связью и моим подходом (кроме структуры курса).

Ответы [ 3 ]

0 голосов
/ 25 октября 2018

, потому что вы сохранили все изображения в одном <div class="item">

и храните их в отдельных элементах div, таким образом:

<div class="item active">cat 1</div>
<div class="item">cat 2</div>
<div class="item">cat 3</div>
<div class="item">cat 4</div>
<div class="item">cat 5</div>
<div class="item">cat 6</div>

img {
  border: 1px solid red;
  width: 100px;
  height: 100px;
  display: block;
}

ul {
  display: inline-block;
}

li {
  list-style-type: none;
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

<div id="myCarousel" class="carousel slide" data-ride="carousel">
  <div class="carousel-inner">
    <div class="item active">
      <!----------->
      <!-- CTA 1 -->
      <!----------->
      <ul class="clearfix">
        <li>
          <img src="" />
          <span>Test 1</span>
        </li>
      </ul>
    </div>
    <div class="item">
      <!----------->
      <!-- CTA 2 -->
      <!----------->
      <ul class="clearfix">
        <li>
          <img src="" />
          <span>Test 2</span>
        </li>
      </ul>
    </div>
    <div class="item ">
      <!----------->
      <!-- CTA 3 -->
      <!----------->
      <ul class="clearfix">
        <li>
          <img src="" />
          <span>Test 3</span>
        </li>
      </ul>
    </div>
    <div class="item ">
      <!----------->
      <!-- CTA 4 -->
      <!----------->
      <ul class="clearfix">
        <li>
          <img src="" />
          <span>Test 4</span>
        </li>
      </ul>
    </div>
    <div class="item ">
      <!----------->
      <!-- CTA 5 -->
      <!----------->
      <ul class="clearfix">
        <li>
          <img src="" />
          <span>Test 5</span>
        </li>
      </ul>
    </div>
    <div class="item ">
      <!----------->
      <!----------->

      <!-- TO APPEAR AFTER CONTROL CLICK -->

      <!----------->
      <!-- CTA 6 -->
      <!----------->
      <ul class="clearfix">
        <li>
          <img src="" />
          <span>Test 6</span>
        </li>
      </ul>
    </div>
  </div>
  <!--=====================-->
  <!--== ON ARROW DISPLAY -==>  
  <!--=====================-->


  <!-- Left and right controls -->
  <a class="left carousel-control" href="#myCarousel" data-slide="prev">
    <span class="glyphicon glyphicon-chevron-left"></span>
    <span class="sr-only">Previous</span>
  </a>
  <a class="right carousel-control" href="#myCarousel" data-slide="next">
    <span class="glyphicon glyphicon-chevron-right"></span>
    <span class="sr-only">Next</span>
  </a>
</div>
0 голосов
/ 25 октября 2018

img{
  border: 1px solid red;
  width: 100px;
  height: 100px;
  display: block;
}
ul{
  display: inline-block;
}
li{
  list-style-type: none;
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

<div id="myCarousel" class="carousel slide" data-ride="carousel">
  <div class="carousel-inner">
    <div class="item active">
      <!----------->
      <!-- CTA 1 -->
      <!----------->
      <ul class="clearfix">
        <li>
          <img src="https://picsum.photos/200/200?random"/>
          <span>Test 1</span>
        </li>
      </ul>
      </div>
      <!----------->
      <!-- CTA 2 -->
      <!----------->
       <div class="item">
      <ul class="clearfix">
        <li>
          <img src="https://picsum.photos/200/200?random"/>
          <span>Test 2</span>
        </li>
      </ul>
      <div>
      <!----------->
      <!-- CTA 3 -->
      <!----------->
       <div class="item">
      <ul class="clearfix">
        <li>
          <img src="https://picsum.photos/200/200?random"/>
          <span>Test 3</span>
        </li>
      </ul>
      </div>
      <!----------->
      <!-- CTA 4 -->
      <!----------->
       <div class="item">
      <ul class="clearfix">
        <li>
          <img src="https://picsum.photos/200/200?random"/>
          <span>Test 4</span>
        </li>
      </ul>
      </div>
      <!----------->
      <!-- CTA 5 -->
      <!----------->
       <div class="item">
      <ul class="clearfix">
        <li>
          <img src="https://picsum.photos/200/200?random"/>
          <span>Test 5</span>
        </li>
      </ul>
      </div>
      <!----------->
      <!----------->

      <!-- TO APPEAR AFTER CONTROL CLICK -->

      <!----------->
      <!-- CTA 6 -->
      <!----------->
       <div class="item">
      <ul class="clearfix">
        <li>
          <img src="https://picsum.photos/200/200?random"/>
          <span>Test 6</span>
        </li>
      </ul>
      </div>
    </div>
  </div>
  <!--=====================-->
  <!--== ON ARROW DISPLAY -==>  
  <!--=====================-->


  <!-- Left and right controls -->
  <a class="left carousel-control" href="#myCarousel" data-slide="prev">
    <span class="glyphicon glyphicon-chevron-left"></span>
    <span class="sr-only">Previous</span>
  </a>
  <a class="right carousel-control" href="#myCarousel" data-slide="next">
    <span class="glyphicon glyphicon-chevron-right"></span>
    <span class="sr-only">Next</span>
  </a>
</div>

Здесь отображаются все 6.В чем проблема?

0 голосов
/ 25 октября 2018

Это должно работать так, как вы хотели.Добавлен div с классом item.

img{
  border: 1px solid red;
  width: 100px;
  height: 100px;
  display: block;
}
ul{
  display: inline-block;
}
li{
  list-style-type: none;
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

<div id="myCarousel" class="carousel slide" data-ride="carousel">
  <div class="carousel-inner">
    <div class="item active">
      <!----------->
      <!-- CTA 1 -->
      <!----------->
      <ul class="clearfix">
        <li>
          <img src=""/>
          <span>Test 1</span>
        </li>
      </ul>
      <!----------->
      <!-- CTA 2 -->
      <!----------->
      <ul class="clearfix">
        <li>
          <img src=""/>
          <span>Test 2</span>
        </li>
      </ul>
      <!----------->
      <!-- CTA 3 -->
      <!----------->
      <ul class="clearfix">
        <li>
          <img src=""/>
          <span>Test 3</span>
        </li>
      </ul>
      <!----------->
      <!-- CTA 4 -->
      <!----------->
      <ul class="clearfix">
        <li>
          <img src=""/>
          <span>Test 4</span>
        </li>
      </ul>
      <!----------->
      <!-- CTA 5 -->
      <!----------->
      <ul class="clearfix">
        <li>
          <img src=""/>
          <span>Test 5</span>
        </li>
      </ul>
    </div>
    <div class="item">
      <!----------->
      <!----------->

      <!-- TO APPEAR AFTER CONTROL CLICK -->

      <!----------->
      <!-- CTA 6 -->
      <!----------->
      <ul class="clearfix">
        <li>
          <img src=""/>
          <span>Test 6</span>
        </li>
      </ul>
    </div>
  </div>
  <!--=====================-->
  <!--== ON ARROW DISPLAY -==>  
  <!--=====================-->


  <!-- Left and right controls -->
  <a class="left carousel-control" href="#myCarousel" data-slide="prev">
    <span class="glyphicon glyphicon-chevron-left"></span>
    <span class="sr-only">Previous</span>
  </a>
  <a class="right carousel-control" href="#myCarousel" data-slide="next">
    <span class="glyphicon glyphicon-chevron-right"></span>
    <span class="sr-only">Next</span>
  </a>
</div>
...