web-dev-qa-db-fra.com

Owl Carousel 2 Nav sur les côtés

Bonjour, j'utilise la version 2 de Owl Carousel et je ne trouve pas d'exemple pour mettre la navigation sur les côtés du carrousel comme des chevrons ou des flèches gauche et droit. Comment faites-vous?

15
SemanticUI

Je viens de faire ça hier :)

Tout d'abord, assurez-vous que la navigation est activée dans la configuration

https://owlcarousel2.github.io/OwlCarousel2/docs/api-options.html

   $('#_samewidth_images').owlCarousel({
      margin:10,
      autoWidth:false,
      nav:true,
      items:4,
      navText : ['<i class="fa fa-angle-left" aria-hidden="true"></i>','<i class="fa fa-angle-right" aria-hidden="true"></i>']
  })

Ceci injectera les contrôles dans le DOM, voir 

https://owlcarousel2.github.io/OwlCarousel2/docs/api-classes.html

<div class="owl-carousel owl-theme owl-loaded">
    <div class="owl-stage-outer">
        <div class="owl-stage">
            <div class="owl-item">...</div>
            <div class="owl-item">...</div>
            <div class="owl-item">...</div>
        </div>
    </div>
    <div class="owl-controls">
        <div class="owl-nav">
            <div class="owl-prev">prev</div>
            <div class="owl-next">next</div>
        </div>
        <div class="owl-dots">
            <div class="owl-dot active"><span></span></div>
            <div class="owl-dot"><span></span></div>
            <div class="owl-dot"><span></span></div>
        </div>
    </div>
</div>

Ensuite, utilisez CSS pour positionner les contrôles Next et Prev, voici ce que j’ai utilisé:

.owl-prev {
    width: 15px;
    height: 100px;
    position: absolute;
    top: 40%;
    margin-left: -20px;
    display: block !important;
    border:0px solid black;
}

.owl-next {
    width: 15px;
    height: 100px;
    position: absolute;
    top: 40%;
    right: -25px;
    display: block !important;
    border:0px solid black;
}
.owl-prev i, .owl-next i {transform : scale(1,6); color: #ccc;}

Pour mes icônes, j'ai utilisé Font Awesome, mais vous pouvez utiliser quelque chose de similaire. Notez le navText dans le code javascript, c’est là que vous mettez votre code HTML personnalisé. Je suppose que vous pouvez aussi utiliser une image (ou la mettre à l’arrière-plan des divs .owl-next et .owl-prev. Remarque: j’ai utilisé transform pour augmenter les flèches.

29
KevInSol

balise HTML  

 <div id="slider" class="owl-carousel">
        <div class="item">
            <img src="assets/img/header-img.jpg" alt="" />
        </div>
        <div class="item">
            <img src="assets/img/header-img.jpg" alt="" />
        </div>
        <div class="item">
            <img src="assets/img/header-img.jpg" alt="" />
        </div>
        <div class="item">
            <img src="assets/img/header-img.jpg" alt="" />
        </div>
        <div class="item">
            <img src="assets/img/header-img.jpg" alt="" />
        </div>
    </div>

Css style Slider est le nom de la classe

#slider .owl-nav div.owl-prev, 
#slider .owl-nav div.owl-next {
    color: #fff;
    font-size: 18px;
    margin-top: -20px;
    position: absolute;
    top: 50%;
    text-align: center;
    line-height: 39px;
    opacity: 0;
    border:1px solid #fff;
    width: 40px;
    height: 40px;
}
#slider .owl-nav div.owl-prev{
    left: 10%;
    -webkit-transition: 0.4s;
    -moz-transition: 0.4s;
    -o-transition: 0.4s;
    -ms-transition: 0.4s;
}
#slider .owl-nav div.owl-next {
    right: 10%;
    -webkit-transition: 0.4s;
    -moz-transition: 0.4s;
    -o-transition: 0.4s;
    -ms-transition: 0.4s;
}
#slider:hover .owl-nav div.owl-next{
    right: 2%;
    -webkit-transition: 0.4s;
    -moz-transition: 0.4s;
    -o-transition: 0.4s;
    -ms-transition: 0.4s;
    opacity: 1;
}
#slider:hover .owl-nav div.owl-prev{
    left: 2%;
    -webkit-transition: 0.4s;
    -moz-transition: 0.4s;
    -o-transition: 0.4s;
    -ms-transition: 0.4s;
    opacity: 1;
}
#slider:hover .owl-nav div.owl-next:hover,
#slider:hover .owl-nav div.owl-prev:hover{
    color:#fff;
    background: #0C94B8;
    border: 1px solid #0C94B8;
}

activation du curseur  

$('#slider').owlCarousel({
        loop:true,
        items: 1,
        margin:10,
        autoplay: true,
        nav:true,
        navText: ['<i class="fa fa-angle-left" aria-hidden="true"></i>', '<i class="fa fa-angle-right" aria-hidden="true"></i>']
    })
3
Md. Abunaser Khan

Juste une petite amélioration de @KevinSol répondre ci-dessus.

https://stackoverflow.com/a/40449552/10933080

Ceci est mon code JS:

    $('.owl-carousel').owlCarousel({
      loop:true,
      margin:10,
      nav:true,
      navText : ['<i class="fa fa-angle-left" aria-hidden="true"></i>','<i class="fa fa-angle-right" aria-hidden="true"></i>'],
    });

et mon code CSS:

    .owl-prev, .owl-next {
        width: 15px;
        height: 100px;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        display: block !important;
        border:0px solid black;
    }
    .owl-prev { left: -20px; }
    .owl-next { right: -20px; }
    .owl-prev i, .owl-next i {transform : scale(2,5); color: #ccc;}
0
Abid Khairy

all-slider est le nom de la classe  

 #all-slide .owl-nav div.owl-prev, 
    #all-slide .owl-nav div.owl-next {
        color: #fff;
        font-size: 18px;
        margin-top: -20px;
        position: absolute;
        top: 50%;
        text-align: center;
        line-height: 39px;
        opacity: 0;
        border:1px solid #fff;
        width: 40px;
        height: 40px;
    }
    #all-slide .owl-nav div.owl-prev{
        left: 10%;
        -webkit-transition: 0.4s;
        -moz-transition: 0.4s;
        -o-transition: 0.4s;
        -ms-transition: 0.4s;
    }
    #all-slide .owl-nav div.owl-next {
        right: 10%;
        -webkit-transition: 0.4s;
        -moz-transition: 0.4s;
        -o-transition: 0.4s;
        -ms-transition: 0.4s;
    }
    #all-slide:hover .owl-nav div.owl-next{
        right: 2%;
        -webkit-transition: 0.4s;
        -moz-transition: 0.4s;
        -o-transition: 0.4s;
        -ms-transition: 0.4s;
        opacity: 1;
    }
    #all-slide:hover .owl-nav div.owl-prev{
        left: 2%;
        -webkit-transition: 0.4s;
        -moz-transition: 0.4s;
        -o-transition: 0.4s;
        -ms-transition: 0.4s;
        opacity: 1;
    }
    #all-slide:hover .owl-nav div.owl-next:hover,
    #all-slide:hover .owl-nav div.owl-prev:hover{
        color:#fff;
        background: #0C94B8;
        border: 1px solid #0C94B8;
    }`enter code here`
0
Md. Abunaser Khan