【问题标题】:Why aren't my Bootstrap 4 carousel-indicators clickable?为什么我的 Bootstrap 4 轮播指示器不可点击?
【发布时间】:2018-09-18 01:56:46
【问题描述】:

我一直在制作轮播,并从 Bootstrap 4 文档中复制了代码大纲。但是当我将其编辑为看起来需要它时,指示器不再在单击时更改幻灯片?

我需要编辑什么来解决这个问题?我认为这不是添加的 CSS,因为我已将其删除,但它仍然无法正常工作。可能是 HTML 中的错误。但我看不出我做错了什么。有人可以看看吗?

这是我的代码:

#hero-slider {
  margin-bottom: 30px;
}

#hero-slider .carousel-indicators {
  top: 30px;
  justify-content: flex-start;
  margin: 0;
  padding-left: 15px;
  padding-right: 15px;
}

.carousel-inner {
  max-height: 500px;
}

.carousel-indicators li {
  width: 20px;
  height: 20px;
  border-radius: 100%;
  background-color: #f5821f;
}

.carousel-indicators li:not(:last-child) {
  margin-right: 20px;
}

.carousel-indicators .active {
  background-color: #fff;
}

.carousel-item:before {
  -webkit-box-shadow: inset 0 20rem 40rem rgba(0, 0, 0, 0.5);
  box-shadow: inset 0 20rem 40rem rgba(0, 0, 0, 0.5);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
}

.carousel-caption {
  top: 50px;
  bottom: auto;
}

.carousel-caption h5 {
  color: #ffa70c;
  font-size: 34px;
  font-weight: 600;
  line-height: 1.2;
  margin-bottom: 25px;
}

.carousel-caption p {
  color: #fff;
  font-size: 18px;
  letter-spacing: 1px;
  font-weight: 600;
  line-height: 1.2;
  margin-bottom: 50px;
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>

<div id="hero-slider" class="carousel slide" data-ride="carousel">
  <div class="container">
    <ol class="carousel-indicators position-relative">
      <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>
      <li data-target="#carouselExampleIndicators" data-slide-to="3"></li>
    </ol>
  </div>
  <div class="carousel-inner">
    <div class="carousel-item active">
      <img class="d-block w-100" src="https://placeimg.com/1000/480/any" alt="First slide">
      <div class="carousel-caption">
        <h5>Title goes here</h5>
        <p>Subtitle goes here</p>
        <a href="#" class="btn btn-primary border-0">Button Text</a>
      </div>
    </div>
    <div class="carousel-item">
      <img class="d-block w-100" src="https://placeimg.com/1000/480/any" alt="Second slide">
      <div class="carousel-caption">
        <h5>Title goes here</h5>
        <p>Subtitle goes here</p>
        <a href="#" class="btn btn-primary border-0">Button Text</a>
      </div>
    </div>
    <div class="carousel-item">
      <img class="d-block w-100" src="https://placeimg.com/1000/480/any" alt="Third slide">
      <div class="carousel-caption">
        <h5>Title goes here</h5>
        <p>Subtitle goes here</p>
        <a href="#" class="btn btn-primary border-0">Button Text</a>
      </div>
    </div>
    <div class="carousel-item">
      <img class="d-block w-100" src="https://placeimg.com/1000/480/any" alt="Fourth slide">
      <div class="carousel-caption">
        <h5>Title goes here</h5>
        <p>Subtitle goes here</p>
        <a href="#" class="btn btn-primary border-0">Button Text</a>
      </div>
    </div>
  </div>
</div>

谢谢!

【问题讨论】:

    标签: twitter-bootstrap bootstrap-4 carousel


    【解决方案1】:

    因为您的轮播 id 是 hero-slider,您需要将指标数据目标更改为该值而不是当前值:

    来自:

    data-target="#carouselExampleIndicators"
    

    到:

    data-target="#hero-slider"
    

    #hero-slider {
        margin-bottom: 30px;
    }
    
    #hero-slider .carousel-indicators {
        top: 30px;
        justify-content: flex-start;
        margin: 0;
        padding-left: 15px;
        padding-right: 15px;
    }
    
    .carousel-inner {
        max-height: 500px;
    }
    
    .carousel-indicators li {
        width: 20px;
        height: 20px;
        border-radius: 100%;
        background-color: #f5821f;
    }
    
    .carousel-indicators li:not(:last-child) {
        margin-right: 20px;
    }
    
    .carousel-indicators .active {
        background-color: #fff;
    }
    
    .carousel-item:before {
        -webkit-box-shadow: inset 0 20rem 40rem rgba(0, 0, 0, 0.5);
        box-shadow: inset 0 20rem 40rem rgba(0, 0, 0, 0.5);
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        content: "";
    }
    
    .carousel-caption {
        top: 50px;
        bottom: auto;
    }
    
    .carousel-caption h5 {
        color: #ffa70c;
        font-size: 34px;
        font-weight: 600;
        line-height: 1.2;
        margin-bottom: 25px;
    }
    
    .carousel-caption p {
        color: #fff;
        font-size: 18px;
        letter-spacing: 1px;
        font-weight: 600;
        line-height: 1.2;
        margin-bottom: 50px;
    }
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
    <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
    
    
    <div id="hero-slider" class="carousel slide" data-ride="carousel">
        <div class="container">
            <ol class="carousel-indicators position-relative">
                <li data-target="#hero-slider" data-slide-to="0" class="active"></li>
                <li data-target="#hero-slider" data-slide-to="1"></li>
                <li data-target="#hero-slider" data-slide-to="2"></li>
                <li data-target="#hero-slider" data-slide-to="3"></li>
            </ol>
        </div>
        <div class="carousel-inner" role="listbox">
            <div class="carousel-item active">
                <img class="d-block w-100" src="https://placeimg.com/1000/480/any" alt="First slide">
    
                <div class="carousel-caption">
                    <h5>Title goes here</h5>
    
                    <p>Subtitle goes here</p>
                    <a href="#" class="btn btn-primary border-0">Button Text</a>
                </div>
            </div>
            <div class="carousel-item">
                <img class="d-block w-100" src="https://placeimg.com/1000/480/any" alt="Second slide">
    
                <div class="carousel-caption">
                    <h5>Title goes here</h5>
    
                    <p>Subtitle goes here</p>
                    <a href="#" class="btn btn-primary border-0">Button Text</a>
                </div>
            </div>
            <div class="carousel-item">
                <img class="d-block w-100" src="https://placeimg.com/1000/480/any" alt="Third slide">
    
                <div class="carousel-caption">
                    <h5>Title goes here</h5>
    
                    <p>Subtitle goes here</p>
                    <a href="#" class="btn btn-primary border-0">Button Text</a>
                </div>
            </div>
            <div class="carousel-item">
                <img class="d-block w-100" src="https://placeimg.com/1000/480/any" alt="Fourth slide">
    
                <div class="carousel-caption">
                    <h5>Title goes here</h5>
    
                    <p>Subtitle goes here</p>
                    <a href="#" class="btn btn-primary border-0">Button Text</a>
                </div>
            </div>
        </div>
    </div>

    【讨论】:

    • 我在 2 分钟前就意识到了这一点。多么愚蠢的错误。非常感谢,gaetanoM!只要允许,我就会接受你的回答!
    猜你喜欢
    • 2019-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-27
    • 2019-06-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多