1

私は次のスライドをいっぱいにしてトリガーするプログレスバー付きのブートストラップカルーセルを持っています。私の問題は、スライド上にマウスを置いたときにカルーセルが一時停止し、一時停止せずに続行したいと思うことです。ここでブートストラップカルーセルがホバー上で一時停止するのを止めようとしています

は私のコードです:

$(document).ready(function(){ 
    var percent = 0, 
    interval =35//it takes about 6s, interval=20 takes about 4s 
    $bar = $('#progress-bar'), 
    $crsl = $('#carousel-hero'); 
    $('.carousel-indicators li, .carousel-control').click(function(){$bar.css({width:0.5+'%'});}); 
    /*line above just for showing when controls are clicked the bar goes to 0.5% to make more friendly, 
    if you want when clicked set bar empty, change on width:0.5 to width:0*/ 
    $crsl.carousel({//initialize 
     interval: false, 
     pause: false 
    }).on('slide.bs.carousel', function(){percent = 0;});//This event fires immediately when the bootstrap slide instance method is invoked. 
    function progressBarCarousel() { 
     $bar.css({width:percent+'%'}); 
     percent = percent +0.5; 
     if (percent>=100) { 
      percent=0; 
      $crsl.carousel('next'); 
     } 
    } 
    var barInterval = setInterval(progressBarCarousel, interval);//set interval to progressBarCarousel function 
    if (!(/Mobi/.test(navigator.userAgent))) {//tests if it isn't mobile 
     $crsl.hover(function(){ 
        clearInterval(barInterval); 
       }, 
       function(){ 
        barInterval = setInterval(progressBarCarousel, interval); 
       } 
     ); 
    } 
}); 

そして、私のHTML:私が試した

<div id="carousel-hero" class="carousel slide" data-ride="carousel"><!-- Main Slider --> 
       <ol class="carousel-indicators"> 
       <li data-target="#carousel-hero" data-slide-to="0" class="active"></li> 
       <li data-target="#carousel-hero" data-slide-to="1"></li> 
       <li data-target="#carousel-hero" data-slide-to="2"></li> 
       </ol> 
      <div class="carousel-inner"> 
       <div class="item active"><!-- First Slide --> 
        <div class="overlay"></div> 
        <img src="images/hero1.jpg" alt="hero-image" class="img-responsive"> 
        <div class="carousel-caption"><!-- Tagline --> 
         <h1 class="tagline">WE ARE <span class="colored">NIXO</span> CREATIVE</h1> 
         <h5>Branding | Design | Developement</h5> 
        </div> 
       </div>   
       <div class="item"><!-- Second Slide --> 
        <div class="overlay"></div> 
        <img src="images/hero2.jpg" alt="hero-image" class="img-responsive"> 
        <div class="carousel-caption"><!-- Tagline --> 
         <h1 class="tagline">WE <span class="colored">ALWAYS</span> DELIVER</h1> 
         <h5>UX | Marketing | Ideas</h5> 
        </div> 
       </div> 
       <div class="item"><!-- Third Slide --> 
        <div class="overlay"></div> 
        <img src="images/hero3.jpg" alt="hero-image" class="img-responsive"> 
        <div class="carousel-caption"><!-- Tagline --> 
         <h1 class="tagline">WE <span class="colored">LOVE</span> DESIGN</h1> 
         <h5>Beautiful | Clean | Inspiring</h5> 
        </div> 
       </div> 
       <!-- Carousel Controlls --> 
       <a id="hero-control-left" class="control-hero control-left" href="#carousel-hero" role="button" data-slide="prev"> 
        <span class="pe-7s-angle-left pe-4x" aria-hidden="true"></span> 
        <span class="sr-only">Previous</span> 
       </a> 
       <a id="hero-control-right" class="control-hero control-right" href="#carousel-hero" role="button" data-slide="next"> 
        <span class="pe-7s-angle-right pe-4x" aria-hidden="true"></span> 
        <span class="sr-only">Next</span> 
       </a> 
      </div> 
      <div id="progress-bar"></div> <!-- Carousel Progress Bar --> 
    </div> 

THINGS:

  • のポーズを設定するJSファイルに: 'なし'
  • カルーセルにdata-pause = "false"を追加
  • と同時にpuase:falseとdata-pause = "false"を指定しました。

ヘルプが表示されています。 nullに

+0

ポーズオプションは、(データ属性として、またはJSに追加することで)私のために良い取り組んでいます。 – makshh

答えて

2

セット一時停止やデータポーズ=「false」を

$crsl.carousel({//initialize 
     interval: false, 
     pause: null 
}) 

<div id="carousel-hero" class="carousel slide" data-ride="carousel" data-pause="null"> 

crslためのコードを削除停止プログレスバーを回避するために、ここで

https://v4-alpha.getbootstrap.com/components/carousel/#options

をカルーセルオプションの詳細を読みます.hover:プログレスバーの間隔をクリアし、ぼかしで再開します。

実施例:https://jsfiddle.net/ne9x9Lp1/

+0

答えをありがとうが、それでも動作していません。私はまだホバリングで一時停止します。 – Novakim

+0

それはあなたがこれをチェックしているブラウザで、私のためにクロームで動作します。 – Deep

+0

私はクロム、ファイアーフォックス、オペラ、エッジ、IE 11でテストしました。それはすべてで発生します – Novakim

関連する問題