web-dev-qa-db-ja.com

フクロウカルーセル2側のナビゲーション

こんにちは、フクロウカルーセルバージョン2を使用していますが、左右の山形や矢印など、カルーセルの側面にナビゲーションを配置する例が見つかりません。どうやってやるの?

20
SemanticUI

私は昨日これをやった:)

まず、設定でnavがオンになっていることを確認します

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>']
  })

これにより、コントロールがDOMに挿入されます。

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>

次に、CSSを使用してNextコントロールとPrevコントロールを配置します。これは私が使用したものです。

.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;}

私のアイコンにはFont Awesomeを使用しましたが、似たようなものを使用できます。 JavaScriptコードのnavTextに注意してください。ここにカスタムHTMLを配置します。画像を使用することもできます(または.owl-nextおよび.owl-prev divの背景に配置できます。注:矢印を高くするために変換を使用しました。

34
KevInSol

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スタイルスライダーはクラス名です

#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;
}

スライダーのアクティブ化

$('#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>']
    })
4

上記の@KevinSolの回答から少し改善されました。

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

これは私の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>'],
    });

と私の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;}
3
Abid Khairy

all-sliderはクラス名

 #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