【问题标题】:How to set interval duration for each carousel item?如何为每个轮播项目设置间隔持续时间?
【发布时间】:2019-01-23 05:07:11
【问题描述】:

首先,这不是我有引导轮播的任何帖子的重复,我正在尝试为我的每个引导轮播设置间隔.item,我找到了它的代码from here,但这个例子不适用于我的 sn -p 我的错误在哪里?我的代码与with this carousel 相同,但什么也没发生如何为我的每个引导轮播项目设置间隔?

目前这只适用于每个轮播,我认为它应该适用于每张幻灯片(覆盖默认值),原因有两个:

可以将第一张幻灯片设置为显示快速概览等 有些幻灯片可能有更多的文字,需要更长的延迟才能阅读,有些则更少......

例如

<div class="carousel-inner">
    <div class="active item" data-interval="500">…</div>
    <div class="item" data-interval="5000">…</div>
    <div class="item" data-interval="5000>…</div>
</div>

还有我的真实例子

$(window).load(function() {
  var t;

  var start = $('#carousel').find('.active').attr('data-interval');
  t = setTimeout("$('#carousel').carousel({interval: 1000});", start - 1000);

  $('#carousel').on('slid.bs.carousel', function() {
    clearTimeout(t);
    var duration = $(this).find('.active').attr('data-interval');

    $('#carousel').carousel('pause');
    t = setTimeout("$('#carousel').carousel();", duration - 1000);
  })
  $('.ani-icon-right-chevron').on('click', function() {
    clearTimeout(t);
  });

  $('.ani-icon-chevron-pointing-to-the-left').on('click', function() {
    clearTimeout(t);
  });

});
#carousel {
  width: 700px;
  margin: 70px auto;
}
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" rel="stylesheet" />



<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>
  </ol>

  <div class="carousel-inner">
    <div class="item active" data-interval="300">
      <a href="#"><img src="http://placekitten.com/1600/600" /></a>
      <div class="carousel-caption">
        <h3>Meow</h3>
        <p>Just Kitten Around</p>
      </div>
    </div>
    <div class="item" data-interval="600">
      <a href="#"><img src="http://placekitten.com/1600/600" /></a>
      <div class="carousel-caption">
        <h3>Meow</h3>
        <p>Just Kitten Around</p>
      </div>
    </div>
    <div class="item" data-interval="900">
      <a href="#"><img src="http://placekitten.com/1600/600" /></a>
      <div class="carousel-caption">
        <h3>Meow</h3>
        <p>Just Kitten Around</p>
      </div>
    </div>
  </div>

  <a class="left carousel-control" href="#carousel" data-slide="prev">
    <span class="glyphicon glyphicon-chevron-left"></span>
  </a>
  <a class="right carousel-control" href="#carousel" data-slide="next">
    <span class="glyphicon glyphicon-chevron-right"></span>
  </a>
</div>

<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>

【问题讨论】:

    标签: javascript jquery html css twitter-bootstrap


    【解决方案1】:

    编辑了你的代码,到目前为止它在我这边工作

    <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" rel="stylesheet" />
    
    
    
    <div id="carousel" class="carousel slide" data-ride="carousel" data-interval="1000" >
        <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>
        </ol>
    
        <div class="carousel-inner">
            <div class="item active" interval="1000">
                <a href="#"><img src="http://placekitten.com/1600/600" /></a>
                <div class="carousel-caption">
                    <h3>Meow</h3>
                    <p>Just Kitten Around</p>
                </div>
            </div>
            <div class="item" interval="10000">
                <a href="#"><img src="http://placekitten.com/1600/600" /></a>
                <div class="carousel-caption">
                    <h3>Meow</h3>
                    <p>Just Kitten Around</p>
                </div>
            </div>
            <div class="item" interval="5000">
                <a href="#"><img src="http://placekitten.com/1600/600" /></a>
                <div class="carousel-caption">
                    <h3>Meow</h3>
                    <p>Just Kitten Around</p>
                </div>
            </div>
        </div>
    
        <a class="left carousel-control" href="#carousel" data-slide="prev">
            <span class="glyphicon glyphicon-chevron-left"></span>
        </a>
        <a class="right carousel-control" href="#carousel" data-slide="next">
            <span class="glyphicon glyphicon-chevron-right"></span>
        </a>
    </div>
    
    <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
    <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
    
    <script>
        $(window).load(function () {
            var st;
    
            $('#carousel').on('slid.bs.carousel', function () {
             //   debugger;
    
                var newinterval = $('#carousel .carousel-inner').find('.active').attr('interval');
    
                $('#carousel').carousel("pause");
                clearTimeout(st);
               st =  setTimeout("$('#carousel').carousel()", newinterval);
    
               // $('#carousel').carousel({ interval: newinterval });
            });
        });
    </script>

    【讨论】:

    • 不,我正在尝试为 e 的每个项目设置间隔目前这仅适用于每个轮播,我认为它应该适用于每张幻灯片(覆盖默认值),原因有两个:第一张幻灯片可以设置为显示快速概览等 有些幻灯片可能有更多的文字,需要更长的延迟才能阅读,有些则更少……例如
    • 你只需要调整每一项的间隔属性1000 = 1秒
    【解决方案2】:

    尝试将data-interval="value" 添加到&lt;div id="carousel" class="carousel slide" data-ride="carousel"&gt;

    【讨论】:

    • 不不,我的意思是我正在尝试为每个项目添加,例如第一项是 300 秒是 900
    【解决方案3】:

    <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" rel="stylesheet" />
    
    
    
    <div id="carousel" class="carousel slide" data-ride="carousel" data-interval="1000" >
        <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>
        </ol>
    
        <div class="carousel-inner">
            <div class="item active">
                <a href="#"><img src="http://placekitten.com/1600/600" /></a>
                <div class="carousel-caption">
                    <h3>Meow</h3>
                    <p>Just Kitten Around</p>
                </div>
            </div>
            <div class="item">
                <a href="#"><img src="http://placekitten.com/1600/600" /></a>
                <div class="carousel-caption">
                    <h3>Meow</h3>
                    <p>Just Kitten Around</p>
                </div>
            </div>
            <div class="item">
                <a href="#"><img src="http://placekitten.com/1600/600" /></a>
                <div class="carousel-caption">
                    <h3>Meow</h3>
                    <p>Just Kitten Around</p>
                </div>
            </div>
        </div>
    
        <a class="left carousel-control" href="#carousel" data-slide="prev">
            <span class="glyphicon glyphicon-chevron-left"></span>
        </a>
        <a class="right carousel-control" href="#carousel" data-slide="next">
            <span class="glyphicon glyphicon-chevron-right"></span>
        </a>
    </div>
    
     
    
       

    【讨论】:

      猜你喜欢
      相关资源
      最近更新 更多
      热门标签