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

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

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

スライダー

GUIのグラフィカルウィジェットのひとつです。インジケーターを動かすことで値を調節可能とします。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

4153閲覧

slick.jsのボタンが効かない

musashidayo

総合スコア53

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

スライダー

GUIのグラフィカルウィジェットのひとつです。インジケーターを動かすことで値を調節可能とします。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2018/07/10 07:40

編集2018/07/10 07:45

2つのスライダーを同期させて動かしたくslick.js(http://kenwheeler.github.io/slick/)を実装したのですが、prevボタンが効きません。
nextボタンは反応するのですが…
このようなスライダーに詳しい方アドバイスをお願いします。

html

1<div id="wrap"> 2 <ul id="thumbnail_slider"> 3 <li class="thumbnail-item"></li> 4 <li class="thumbnail-item"></li> 5 <li class="thumbnail-item"></li> 6 <li class="thumbnail-item"></li> 7 <li class="thumbnail-item"></li> 8 <li class="thumbnail-item"></li> 9 </ul> 10 <ul id="slider"> 11 <li class="slide-item"></li> 12 <li class="slide-item"></li> 13 <li class="slide-item"></li> 14 <li class="slide-item"></li> 15 <li class="slide-item"></li> 16 <li class="slide-item"></li> 17 </ul> 18 <div id="arrows"> 19 <div class="slick-next"> 20 </div> 21 <div class="slick-prev"> 22 </div> 23 </div> 24 </div>

js

1$(function(){ 2 var mainSlider = "#slider"; //メインスライダーid 3 var thumbnailSlider = "#thumbnail_slider"; //サムネイルスライダーid 4 $(mainSlider).slick({ 5 //autoplay: true, 6 //speed: 1000, 7 arrows: false, 8 vertical: true, 9 verticalSwiping: true, 10 asNavFor: thumbnailSlider 11 }); 12 $(thumbnailSlider).slick({ 13 slidesToShow: 3, 14 //speed: 1000, 15 centerPadding: '60px', //前後のパディング 16 vertical: true, 17 verticalSwiping: true, 18 appendArrows: $('#arrows'), 19 asNavFor: mainSlider 20 }); 21 $('.slick-next').on('click', function () { 22 slick.slickNext(); 23 }); 24 $('.slick-prev').on('click', function () { 25 slick.slickPrev(); 26 }); 27 28 29 //#thumbnail_sliderでクリックしたスライドをカレントにする 30 $(thumbnailSlider+" .slick-slide").on('click',function(){ 31 var index = $(this).attr("data-slick-index"); 32 $(thumbnailSlider).slick("slickGoTo",index,false); 33 }); 34 });

scss

1#wrap { 2 position: relative; 3 background-color: #ddd; 4 padding: 0; 5 #thumbnail_slider { 6 display: inline-block; 7 width: 30%; 8 position: relative; 9 vertical-align: middle; 10 .thumbnail-item{ 11 img{ 12 width: 50%; 13 margin: 5px auto; 14 } 15 } 16 } 17 #slider { 18 display: inline-block; 19 width: 50%; 20 vertical-align: middle; 21 .slide-item{ 22 img{ 23 width: 100%; 24 } 25 } 26 } 27 #arrows { 28 .slick-prev { 29 left: inherit; 30 top: 10%; 31 left: 14%; 32 } 33 .slick-prev:before { 34 content: '↑'; 35 color: black; 36 } 37 .slick-next { 38 right: inherit; 39 top: 89%; 40 left: 14%; 41 } 42 .slick-next:before { 43 content: '↓'; 44 color: black; 45 } 46 } 47} 48#slider,#thumbnail_slider{ 49 width: 300px; 50 margin: 0 auto 10px; 51}

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2018/07/10 07:42

プラグインを使用しているようですね。出典URLなどを明記して、特定できるようにしてください。
guest

回答2

0

ベストアンサー

js

1 $(mainSlider).slick({... 2 $(thumbnailSlider).slick({...

slickで当該slickのコントロール以外から
任意の操作を行えるようにしたいならここは

js

1 var slick_main=$(mainSlider).slick({... 2 3 var slick_thumb=$(thumbnailSlider).slick({...

などとしてslickオブジェクトを変数に格納して
そのオブジェクトのメソッドを叩くことで
任意の操作を行えるようにしとくのが簡単

伴って

js

1slick.slickNext(); 23slick_main.slickNext(); 4 5slick.slickPrev(); 67slick_main.slickPrev(); 8 9 10$(thumbnailSlider).slick("slickGoTo",index,false); 1112slick_thumb.slick("slickGoTo",index,false);

あと

js

1 $(thumbnailSlider+" .slick-slide").on('click',function(){ 2 var index = $(this).attr("data-slick-index"); 3 $(thumbnailSlider).slick("slickGoTo",index,false); 4 });

これはこんなことしなくても
多分focusOnSelect: trueで実現する


一応、もしかしてだけど、やりたいことは無限ループのスライドだったり?
それでprev効かないとか言ってたり?
スライドの無限ループはinfinite:true

投稿2018/07/10 09:14

編集2018/07/10 10:55
KazuhiroHatano

総合スコア7802

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

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

musashidayo

2018/08/01 10:09

こちらを参考に色々試してみたのですが、当初相変わらずprevが機能せず、生成されるbuttonにz-index:1000を設定したらしっかりと動きました! ありがとうございました!
guest

0

slick.slickNext$(mainSlider).slick("slickNext") にしてみては。

【slickNext is not a function · Issue #1613 · kenwheeler/slick · GitHub】
https://github.com/kenwheeler/slick/issues/1613

js

1$carousel.slick("slickNext");

投稿2018/07/10 08:38

kei344

総合スコア69364

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問