【问题标题】:Bootstrap carousel inside another bootstrap carousel另一个引导轮播内的引导轮播
【发布时间】:2017-04-08 14:58:32
【问题描述】:

我在 carousel 中有一个 carousel - 第一个 carousel 是在一个循环中显示多个产品,在每个产品部分中我有多个图像需要在 carousel 中显示。但是当我滑过外部旋转木马时,内部旋转木马停止工作:

.inner_carousel {
  background-color: green;
  width: 100%;
  height: 300px;
  text-align: center;
}
.inner_carousel1 {
  background-color: red;
  width: 100%;
  height: 300px
}
.inner_carousel2 {
  background-color: blue;
  width: 100%;
  height: 300px
}
.sub_car {
  background-color: black;
  width: 300px;
  height: 300px
}
.sub_car1 {
  background-color: pink;
  width: 300px;
  height: 300px
}
#myCarousel1 {
  width: 310px;
  display: inline-block;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

<div id="myCarousel" class="carousel slide" data-ride="carousel">
  <!-- Indicators -->
  <ol class="carousel-indicators">
    <li data-target="#myCarousel" data-slide-to="0" class="active"></li>
    <li data-target="#myCarousel" data-slide-to="1"></li>
    <li data-target="#myCarousel" data-slide-to="2"></li>
    <li data-target="#myCarousel" data-slide-to="3"></li>
  </ol>

  <!-- Wrapper for slides -->
  <div class="carousel-inner" role="listbox">
    <div class="item active">
      <div class="inner_carousel">
        <div id="myCarousel1" class="carousel slide" data-ride="carousel">
          <!-- Wrapper for slides -->
          <div class="carousel-inner" role="listbox">
            <div class="item active">
              <div class="sub_car1"></div>
            </div>
            <div class="item">
              <div class="sub_car"></div>
            </div>
          </div>
          <!-- Left and right controls -->
          <a class="left carousel-control" href="#myCarousel1" role="button" data-slide="prev">
            <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
            <span class="sr-only">Previous</span>
          </a>
          <a class="right carousel-control" href="#myCarousel1" role="button" data-slide="next">
            <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
            <span class="sr-only">Next</span>
          </a>
        </div>
      </div>
    </div>
    <div class="item">
      <div class="inner_carousel1"></div>
    </div>
    <div class="item">
      <div class="inner_carousel2"></div>
    </div>
  </div>

  <!-- Left and right controls -->
  <a class="left carousel-control" href="#myCarousel" role="button" data-slide="prev">
    <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
    <span class="sr-only">Previous</span>
  </a>
  <a class="right carousel-control" href="#myCarousel" role="button" data-slide="next">
    <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
    <span class="sr-only">Next</span>
  </a>
</div>
<script>
  $('#myCarousel').carousel();
  $('#myCarousel1').carousel();
</script>

【问题讨论】:

标签: jquery html css twitter-bootstrap carousel


【解决方案1】:

经过多次试验和错误方法以及搜索多个支持站点后,我发现不支持另一个轮播中的轮播:

轮播 carousel.js

用于循环播放元素的幻灯片组件,例如轮播。 不支持嵌套轮播。

来源:http://getbootstrap.com/javascript/#carousel

还遇到了这个帖子: https://github.com/twbs/bootstrap/issues/14441

下面给出了我使用的另一种替代解决方案

$(document).ready(function() {
  if ($(window).width() > 768) {
    // var windo_height= $(window).height();
    var contain_height = $(".dashboard_rightheader").height();
    var foot_height = $(".dash_footer").height();
    $(".dashboard_leftheader").height(contain_height);
  }

});
$('.next').click(function() {

  var nextId = $(this).parents('.tab-pane').next().attr("id");
  $('[href=#' + nextId + ']').tab('show');

})

$('.first').click(function() {
  $('#myWizard a:first').tab('show')
})
.inner_carousel {
  background-color: green;
  width: 100%;
  height: 300px;
  text-align: center;
}
.inner_carousel1 {
  background-color: red;
  width: 100%;
  height: 300px
}
.inner_carousel2 {
  background-color: blue;
  width: 100%;
  height: 300px
}
.sub_car {
  background-color: black;
  width: 300px;
  height: 300px
}
.sub_car1 {
  background-color: pink;
  width: 300px;
  height: 300px
}
#myCarousel1 {
  width: 310px;
  display: inline-block;
}
.tab-pane1 img {
  background-color: red;
}
.tab-pane2 img {
  background-color: blue;
}
.tab-pane3 img {
  background-color: black;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

<div id="myCarousel" class="carousel slide" data-ride="carousel">

  <!-- Wrapper for slides -->
  <div class="carousel-inner" role="listbox">
    <div class="item active">
      <div class="inner_carousel">
        <div id="neoidea">
          <!-- <div class="navbar">
                            <div class="navbar-inner">
                                  <ul class="nav nav-pills">
                                     <li class=""><a href="#step1" data-toggle="tab" aria-expanded="false">Step 1</a></li>
                                     <li class=""><a href="#step2" data-toggle="tab" aria-expanded="false">Step 2</a></li>
                                     <li class=""><a href="#step3" data-toggle="tab" aria-expanded="false">Step 3</a></li>
                                  </ul>
                            </div>
                          </div> -->
          <!-- Indicators -->
          <ol class="carousel-indicators">
            <li data-target="#step11" data-toggle="tab" aria-expanded="false" class="active"></li>
            <li data-target="#step12" data-toggle="tab" aria-expanded="false"></li>
            <li data-target="#step13" data-toggle="tab" aria-expanded="false"></li>
          </ol>
          <div class="tab-content">
            <div class="tab-pane active tab-pane1" id="step11">
              <img src="http://placehold.it/299x299" alt="Chania">
            </div>
            <div class="tab-pane tab-pane2" id="step12">
              <img src="http://placehold.it/300x300" alt="Chania">
            </div>
            <div class="tab-pane tab-pane3" id="step13">
              <img src="http://placehold.it/301x301" alt="Chania">
            </div>
          </div>
        </div>
      </div>
    </div>
    <div class="item">
      <div class="inner_carousel">
        <div id="neoidea">
          <!-- <div class="navbar">
                            <div class="navbar-inner">
                                  <ul class="nav nav-pills">
                                     <li class=""><a href="#step1" data-toggle="tab" aria-expanded="false">Step 1</a></li>
                                     <li class=""><a href="#step2" data-toggle="tab" aria-expanded="false">Step 2</a></li>
                                     <li class=""><a href="#step3" data-toggle="tab" aria-expanded="false">Step 3</a></li>
                                  </ul>
                            </div>
                          </div> -->
          <!-- Indicators -->
          <ol class="carousel-indicators">
            <li data-target="#step21" data-toggle="tab" aria-expanded="false" class="active"></li>
            <li data-target="#step22" data-toggle="tab" aria-expanded="false"></li>
            <li data-target="#step23" data-toggle="tab" aria-expanded="false"></li>
          </ol>
          <div class="tab-content">
            <div class="tab-pane active tab-pane1" id="step21">
              <img src="http://placehold.it/299x299" alt="Chania">
            </div>
            <div class="tab-pane tab-pane2" id="step22">
              <img src="http://placehold.it/300x300" alt="Chania">
            </div>
            <div class="tab-pane tab-pane3" id="step23">
              <img src="http://placehold.it/301x301" alt="Chania">
            </div>
          </div>
        </div>
      </div>
    </div>
    <div class="item">
      <div class="inner_carousel">
        <div id="neoidea">
          <!-- <div class="navbar">
                            <div class="navbar-inner">
                                  <ul class="nav nav-pills">
                                     <li class=""><a href="#step1" data-toggle="tab" aria-expanded="false">Step 1</a></li>
                                     <li class=""><a href="#step2" data-toggle="tab" aria-expanded="false">Step 2</a></li>
                                     <li class=""><a href="#step3" data-toggle="tab" aria-expanded="false">Step 3</a></li>
                                  </ul>
                            </div>
                          </div> -->
          <!-- Indicators -->
          <ol class="carousel-indicators">
            <li data-target="#step31" data-toggle="tab" aria-expanded="false" class="active"></li>
            <li data-target="#step32" data-toggle="tab" aria-expanded="false"></li>
            <li data-target="#step33" data-toggle="tab" aria-expanded="false"></li>
          </ol>
          <div class="tab-content">
            <div class="tab-pane active tab-pane1" id="step31">
              <img src="http://placehold.it/299x299" alt="Chania">
            </div>
            <div class="tab-pane tab-pane2" id="step32">
              <img src="http://placehold.it/300x300" alt="Chania">
            </div>
            <div class="tab-pane tab-pane3" id="step33">
              <img src="http://placehold.it/301x301" alt="Chania">
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>

  <!-- Left and right controls -->
  <a class="left carousel-control" href="#myCarousel" role="button" data-slide="prev">
    <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
    <span class="sr-only">Previous</span>
  </a>
  <a class="right carousel-control" href="#myCarousel" role="button" data-slide="next">
    <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
    <span class="sr-only">Next</span>
  </a>
</div>
<script>
  $('#myCarousel').carousel();
  $('#myCarousel1').carousel();
</script>

【讨论】:

  • 由于无效的 HTML,其中 id="neoidea" 在无效的页面上重复,因此投反对票。根据 HTML 标准,ID 必须是唯一的。
【解决方案2】:

每次我想在另一个轮播中使用轮播时,我都会使用 owl-carousel 插件或任何您想要的插件作为父轮播和子轮播的引导程序。

您不能对两个轮播都使用引导程序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-13
    • 1970-01-01
    • 1970-01-01
    • 2016-05-19
    • 2016-12-03
    • 1970-01-01
    相关资源
    最近更新 更多