質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Q&A

解決済

1回答

1439閲覧

Vue3-carouselで<ol class="carousel__pagination"></ol>が表示されるようにしたい

ueda_y

総合スコア1

Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

0グッド

0クリップ

投稿2023/07/19 00:39

実現したいこと

vue3-carouselで

<ol class="carousel__pagination"></ol> が表示されるようにしたい その上でstyleをdot(丸)にしたい

前提

Vue3-carousel https://ismail9k.github.io/vue3-carousel/examples.html
を使ってカルーセル(スライドショー)を作っています

<template #addons>
<navigation />
<pagination />
</template>
と書いているにもかかわらず

<ol class="carousel__pagination"></ol> が表示されません ※<div class="carousel__liveregion carousel__sr-only" aria-live="polite" aria-atomic="true">Item 1 of 4</div> は表示されます

発生している問題・エラーメッセージ

解析を見ましたが、エラーは特にありません

該当のソースコード

HTML

1 <div id="slider"> 2 <div class="slider interview_area"> 3 <carousel :items-to-show="3" :wrap-around="true" :loop="true" :speed="500"> 4 <template v-for="interview in interviews"> 5 <slide :key="interview.id"> 6 <div class="interview_box"> 7 <img :src="interview.image" alt=""> 8 <div class="interview_txt"> 9 <div class="interview_intit"> 10 {{ interview.title }} 11 </div> 12 <div class="interview_intxt"> 13 {{ interview.content }} 14 </div> 15 </div> 16 </div> 17 </slide> 18 </template> 19 <template #addons> 20     <navigation /> 21 <pagination /> 22 </template> 23 </carousel> 24 </div> 25 </div>

js

1const app = Vue.createApp({ 2 data() { 3 return { 4 interviews: [ 5 { 6 id: 1, 7 image: "img/img_interview_01.png", 8 title: "00代 / 会社員", 9 content: "テキストテキスト", 10 }, 11//以下3つインタビュー内容 12 ], 13 currentSlide: 0, 14 }; 15 }, 16}); 17 18app.component('carousel', VueCarousel.Carousel); 19app.component('slide', VueCarousel.Slide); 20app.component('navigation', VueCarousel.Navigation); 21app.component('pagination', VueCarousel.Pagination); 22 23app.mount('#slider'); 24

試したこと

dot(丸)を別で作成してみたが、スライドショーと連動しない

補足情報(FW/ツールのバージョンなど)

Vue3、Vue3-carousel共に CDNです
・Vue3

<script src="https://cdn.jsdelivr.net/npm/vue@3/dist/vue.global.js"></script>

・Vue3-carousel

<link href="https://cdn.jsdelivr.net/npm/vue3-carousel@0.3.1/dist/carousel.min.css" rel="stylesheet"> <script src="https://cdn.jsdelivr.net/npm/vue3-carousel@0.3.1/dist/carousel.min.js"></script>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

FKM

2023/07/21 09:13 編集

開発コードを見た感じではolタグはきちんと生成されていますね。ただ、olである以上はcircleは使えませんが。 あと、その書き方だとどこかでスクリプトエラーを吐いていないでしょうか?
guest

回答1

0

ベストアンサー

まず、CDNで制作しているのがそもそもの問題であり、Vue3のCDNはslotに対応していません。なので、スロット制御しているページャー部分は<div class="carousel__liveregion carousel__sr-only" aria-live="polite" aria-atomic="true">となるみたいです。

CodePen Home
Vue3-Carousel - Wrap Around

ではViteやvue-cliで制作した場合どうなるかですが、今度は確かにolが列記されます。ですがolはstyle-list-typeでcircleは指定できないので、そこは工夫する必要がありそうです。

参考までにデザインをカスタマイズしてる例

vue-carouselでページネーション部分のスタイルを変更する

投稿2023/07/21 09:38

FKM

総合スコア3660

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問