【问题标题】:Bootstrap Carousel: disable indicatorsBootstrap Carousel:禁用指标
【发布时间】:2016-09-23 23:56:03
【问题描述】:

如何使轮播指示器在移动设备上不可点击?这样当我在移动设备上点击它们时,幻灯片就不会改变。

我正在使用最新的引导程序。

【问题讨论】:

    标签: javascript css twitter-bootstrap carousel


    【解决方案1】:

    让我们为小屏幕更改standard example 的外观。


    1。指标可以隐藏

    hidden-xs 类添加到<ol class="carousel-indicators">

    @import url('https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css');
    
    .carousel-inner > .item > img {
      width: 100%;
    }
    <div id="carousel-example-generic" class="carousel slide" data-ride="carousel">
      <!-- Indicators -->
      <ol class="carousel-indicators hidden-xs">
        <li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li>
        <li data-target="#carousel-example-generic" data-slide-to="1"></li>
        <li data-target="#carousel-example-generic" data-slide-to="2"></li>
      </ol>
    
      <!-- Wrapper for slides -->
      <div class="carousel-inner" role="listbox">
        <div class="item active">
            <img class="img-responsive" src="http://placehold.it/600x200/c69/?text=%20" alt="Slide 1">
        </div>
        <div class="item">
            <img class="img-responsive" src="http://placehold.it/600x200/69c/?text=%20" alt="Slide 2">
        </div>
        <div class="item">
            <img class="img-responsive" src="http://placehold.it/600x200/9c6/?text=%20" alt="Slide 3">
        </div>
      </div>
    
      <!-- Controls -->
      <a class="left carousel-control" href="#carousel-example-generic" 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="#carousel-example-generic" role="button" data-slide="next"> 
        <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
        <span class="sr-only">Next</span>
      </a>
    </div>
      
    <div class="alert alert-danger hidden-xs text-center">
      Width > 767px. Make the window narrower.
    </div>
    <div class="alert visible-xs text-center">
      Width < 768px. Indicators are hidden.
    </div>
    
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
    
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>

    2。指示灯可以关闭

    添加这个 CSS:

    @media (max-width: 767px) {
      .carousel-indicators,
      .carousel-indicators li {
        cursor: default;
        pointer-events: none;
      }
    }
    

    @import url('https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css');
    
    .carousel-inner > .item > img {
      width: 100%;
    }
    
    @media (max-width: 767px) {
      .carousel-indicators,
      .carousel-indicators li {
        cursor: default;
        pointer-events: none;
      }
    }
    <div id="carousel-example-generic" class="carousel slide" data-ride="carousel">
      <!-- Indicators -->
      <ol class="carousel-indicators">
        <li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li>
        <li data-target="#carousel-example-generic" data-slide-to="1"></li>
        <li data-target="#carousel-example-generic" data-slide-to="2"></li>
      </ol>
    
      <!-- Wrapper for slides -->
      <div class="carousel-inner" role="listbox">
        <div class="item active">
            <img class="img-responsive" src="http://placehold.it/600x200/c69/?text=%20" alt="Slide 1">
        </div>
        <div class="item">
            <img class="img-responsive" src="http://placehold.it/600x200/69c/?text=%20" alt="Slide 2">
        </div>
        <div class="item">
            <img class="img-responsive" src="http://placehold.it/600x200/9c6/?text=%20" alt="Slide 3">
        </div>
      </div>
    
      <!-- Controls -->
      <a class="left carousel-control" href="#carousel-example-generic" 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="#carousel-example-generic" role="button" data-slide="next"> 
        <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
        <span class="sr-only">Next</span>
      </a>
    </div>
      
    <div class="alert alert-danger hidden-xs text-center">
      Width > 767px. Make the window narrower.
    </div>
    <div class="alert visible-xs text-center">
      Width < 768px. Indicators are turned off.
    </div>
    
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
    
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>

    3。指示器可以放置在轮播下方

    添加这个 CSS:

    @media (max-width: 767px) {
      .carousel {
        margin-bottom: 7%;
      }   
      .carousel-indicators {
        bottom: auto;
        top: 105%;
      }
      .carousel-indicators li {
        border-color: #666;
      }
      .carousel-indicators .active {
        background-color: #666;
      }
    }
    

    @import url('https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css');
    
    .carousel-inner > .item > img {
      width: 100%;
    }
    
    @media (max-width: 767px) {
      .carousel {
        margin-bottom: 7%;
      }   
      .carousel-indicators {
        bottom: auto;
        top: 105%;
      }
      .carousel-indicators li {
        border-color: #666;
      }
      .carousel-indicators .active {
        background-color: #666;
      }
    }
    <div id="carousel-example-generic" class="carousel slide" data-ride="carousel">
      <!-- Indicators -->
      <ol class="carousel-indicators">
        <li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li>
        <li data-target="#carousel-example-generic" data-slide-to="1"></li>
        <li data-target="#carousel-example-generic" data-slide-to="2"></li>
      </ol>
    
      <!-- Wrapper for slides -->
      <div class="carousel-inner" role="listbox">
        <div class="item active">
            <img class="img-responsive" src="http://placehold.it/600x200/c69/?text=%20" alt="Slide 1">
        </div>
        <div class="item">
            <img class="img-responsive" src="http://placehold.it/600x200/69c/?text=%20" alt="Slide 2">
        </div>
        <div class="item">
            <img class="img-responsive" src="http://placehold.it/600x200/9c6/?text=%20" alt="Slide 3">
        </div>
      </div>
    
      <!-- Controls -->
      <a class="left carousel-control" href="#carousel-example-generic" 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="#carousel-example-generic" role="button" data-slide="next"> 
        <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
        <span class="sr-only">Next</span>
      </a>
    </div>
      
    <div class="alert alert-danger hidden-xs text-center">
      Width > 767px. Make the window narrower.
    </div>
    <div class="alert visible-xs text-center">
      Width < 768px. Indicators are placed below the carousel.
    </div>
    
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
    
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>

    【讨论】:

    • 选项号 2 正是我想要的。
    【解决方案2】:

    移动设备注册touch 事件。

    因此,在您的点击处理程序中,您可以区分 mousetouch 事件。

    如果是touch 事件,不要做任何事情。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-25
      • 2021-07-28
      • 2020-07-13
      • 2017-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-11
      相关资源
      最近更新 更多