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

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

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

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

解決済

【vue-slick-carousel】safariで挙動が不安定(chromeだと正常に動く)

katahik
katahik

総合スコア74

Vue.js

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

1回答

0評価

0クリップ

536閲覧

投稿2022/01/04 09:43

実現したいこと

Vue.js 2.6.10
ruby 2.6.5
rails 6.0.3

閲覧いただきありがとうございます。
Vueのライブラリであるvue-slick-carousel(https://github.com/gs-shop/vue-slick-carousel)を導入してスライドを作成しました。

しかし、別添の動画のようにsafariだと挙動が不安定になってしまいます。
(具体的には、項目を移動させるボタンを押しても、動かないときがあり、連打すると動きます)

ソースコードは以下のとおりです。
原因や解決策についてご教示いただければ幸いです。

Chrome

イメージ説明

Safari

イメージ説明

矢印ボタンのソースコード

![イメージ説明

コード

SlickCarouselMixin.vue

<script> import SlickCarousel from 'vue-slick-carousel' import 'vue-slick-carousel/dist/vue-slick-carousel.css' import 'vue-slick-carousel/dist/vue-slick-carousel-theme.css' export default { components: {SlickCarousel}, data: function () { return { slickOptions: { dots: true, arrows: true, swipe: false, slidesToScroll: 3, slidesToShow: 3, infinite: false, speed: 1000, }, } } } </script> <style> .slick-prev, .slick-next{ width: 0; height: 0; position: absolute; top: 40%; } .slick-prev{ left: -30px; } .slick-next{ right: 0; } .slick-prev:before, .slick-next:before { font-family: "Font Awesome 5 Free"; font-size: 90px; color: #c7c7c7; line-height: 1; text-rendering: auto; display: inline-block; font-style: normal; font-variant: normal; } .slick-prev:before { content: "‹"; } .slick-next:before { content: "›"; } .slick-prev.slick-disabled, .slick-next.slick-disabled { pointer-events: none; opacity: 0; } .slick-dots li.slick-active button:before { color: #86bc25; } .slick-slide > div { margin: 0.5rem; } .slick-slide li > a { padding: 1.25rem; } </style>

Show.vue

<template> <div> <div class="m-3 p-3"> <SlickCarousel v-bind="slickOptions" class="other-item-list"> <li v-for="test in tests"> ・・・ </li> </SlickCarousel> </div> </div> </template> <script> import SlickCarousel from "../../../common/SlickCarouselMixin" export default { mixins: [SlickCarousel], ・・・ </script> <style> .lb-nav a.lb-prev, .lb-nav a.lb-next { width: 50%; } .fadeIn { animation: fadeIn 0.4s; } </style>

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Vue.js

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