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

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

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

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

1回答

1405閲覧

bxSliderでサムネイル付きスライダーの実装

kyo-web

総合スコア15

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

1クリップ

投稿2019/02/12 07:03

編集2019/02/13 01:43

前提・実現したいこと

bxSliderでサムネイル付きのスライダーを実装したい。
スライダーの部分は3枚画像が表示されていて、
その下にサムネイルを写真の数分表示させる。

参考イメージ

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

画像1の部分だけ(一枚表示)で実装した場合は問題ないのですが
サンプルイメージのように画像を3枚横並び(カルーセル)で表示したら
下のサムネイルと上のスライダーの画像がずれます。

該当のソースコード

html head内 <script> $(document).ready(function(){ //メインスライド用 $('.bxslider01').bxSlider({ slideWidth : 700, slideMargin : 0, maxSlides : 3, pagerCustom: '#bx-pager', //ページャーをサムネイルにする nextSelector: '#NextIcon', //"次へ”矢印をカスタマイズするための記述 prevSelector: '#PrevIcon'//"前へ”矢印をカスタマイズするための記述 }); }); </script> <div class="slider"> <div class="silderinner"> <!--メインスライダー--> <ul class="bxslider01"> <li><img src="img/gallery1.png"></li> <li><img src="img/gallery2.png"></li> <li><img src="img/gallery3.png"></li> <li><img src="img/gallery4.png"></li> <li><img src="img/gallery5.png"></li> <li><img src="img/gallery6.png"></li> <li><img src="img/gallery7.png"></li> <li><img src="img/gallery8.png"></li> <li><img src="img/gallery9.png"></li> <li><img src="img/gallery10.png"></li> </ul> <!--// メインスライダー--> <!--サムネイル--> <div class="controlWrap"> <p id="PrevIcon"></p> <p id="NextIcon"></p> </div><!--/control--> <div class="wrap"> <ul id="bx-pager" class="bxslider02 clearfix"> <li><a data-slide-index="0" href=""><img src="img/gallery1.png"></a></li> <li><a data-slide-index="1" href=""><img src="img/gallery2.png"></a></li> <li><a data-slide-index="2" href=""><img src="img/gallery3.png"></a></li> <li><a data-slide-index="3" href=""><img src="img/gallery4.png"></a></li> <li><a data-slide-index="4" href=""><img src="img/gallery5.png"></a></li> <li><a data-slide-index="5" href=""><img src="img/gallery6.png"></a></li> <li><a data-slide-index="6" href=""><img src="img/gallery7.png"></a></li> <li><a data-slide-index="7" href=""><img src="img/gallery8.png"></a></li> <li><a data-slide-index="8" href=""><img src="img/gallery9.png"></a></li> <li class="last"><a data-slide-index="9" href=""><img src="img/gallery10.png"></a></li> </ul> </div><!--/wrap--> <!--// サムネイル--> </div><!--/inner--> </div><!--/slider--> css div.slider { width:100%; display:block; margin:0px; overflow: hidden; position:relative; } div.silderinner { position:relative; left:50%; width:7000px; margin-left:-3500px; } ul.bxslider01 li {/*メインスライダー*/ display:block; width:700px; height:500px; } ul.bxslider01 li img{ display:block; width:700px; height:auto; } .wrap { width:700px; display:block; margin:0 auto; } ul.bxslider02 { width: 100%; } ul.bxslider02 li { width: 19%; margin-left: 1.25%; float: left; margin-bottom: 10px; } ul.bxslider02 li:nth-child(6) { margin-left: 0%; clear: both; } ul.bxslider02 li:nth-child(4) { margin-left: 1.25%; clear: none; } ul.bxslider02 li:nth-child(7) { margin-left: 1.25%; clear: none; } ul.bxslider02 li:nth-child(10) { margin-left: 1.25%; clear: none; } ul.bxslider02 li a {/*サムネイル*/ display:block; width: 100%; } ul.bxslider02 li a img{/*サムネイルの画像*/ display:block; height:auto; } div.controlWrap { width:700px; display:block; position:relative; margin:0 auto; height: 70px; } div.controlWrap p#PrevIcon a{/*矢印画像(前へ)*/ display:block; width:30px; height:31px; position:absolute; background: url(../img/left.png) left center no-repeat; color:#fff; top:20px; left:50%; margin-left: -30px; text-indent:-9999px; } div.controlWrap p#NextIcon a{/*矢印画像(次へ)*/ display:block; width:30px; height:31px; position:absolute; background: url(../img/right.png) left center no-repeat; color:#fff; top:20px; left: 50%; margin-left: 30px; text-indent:-9999px; } #bx-pager a img { opacity: 0.5; filter: alpha(opacity=50); } #bx-pager a.active img { opacity: 1; filter: alpha(opacity=100); } css 480px以下 div.slider { width:380px; display:block; margin:40px auto; overflow: hidden; position:relative; } ul.bxslider01 li {/*メインスライダー*/ display:block; width:100%; } ul.bxslider01 li img{ } .wrap { width: 100%; display:block; margin:0 auto; } ul.bxslider02 { width: 380px; margin: auto; } ul.bxslider02 li { width: 30%; margin-left: 5%; float: left; margin-bottom: 10px; } ul.bxslider02 li:first-child { margin-left: 0%; } ul.bxslider02 li:nth-child(4) { margin-left: 0%; clear: both; } ul.bxslider02 li:nth-child(7) { margin-left: 0%; clear: both; } ul.bxslider02 li:nth-child(10) { margin-left: 0%; clear: both; } ul.bxslider02 li a {/*サムネイル*/ display:block; width: 100%; } ul.bxslider02 li a img{/*サムネイルの画像*/ display:block; height:auto; } div.controlWrap { width:380px; display:block; position:relative; margin:0 auto; height: 70px; }

試したこと

maxSlidesを変更したり、startslideを変更したりしたのですが、改善できませんでした。
アドバイス頂ければ助かります。
よろしくお願いします。

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

ここにより詳細な情報を記載してください。

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

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

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

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

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

m.ts10806

2019/02/12 07:06

> スライダー機能を実装中に以下のエラーメッセージが発生しました。 「エラーメッセージ」ではないですよね?質問テンプレートから作られたのかもしれませんが、「エラーメッセージ」とあると「どんなエラーメッセージがあったのだろう?」と見ている側としては期待しますので、その部分は実態で書くようにしてください。(質問は編集できますので適宜ご対応ください)
kyo-web

2019/02/12 07:12

失礼いたしました。 修正しておきました。
mri0815

2019/02/12 07:35

cssは記載いただいたもので全てでしょうか?
kyo-web

2019/02/13 01:45

質問ありがとうございます。 480px以下のcssが表記していなかったので修正しました。 これでcss全てです。 ご確認よろしくお願いします。
Lhankor_Mhy

2019/02/13 01:49

『下のサムネイルと上のスライダーの画像がずれます』とのことですが、ずれる、とは何がずれるのでしょうか? CSSレイアウトが崩れるとかですか?
kyo-web

2019/02/13 02:33

質問ありがとうございます。 下のサムネイルを押すと上のスライダーの該当する画像に移動するスライダーなのですが、上のスライダーをカルーセルで設定した場合(maxSlides : 3)、下のサムネイル(画像1)をクリックしても上のスライダーが(画像3)を表示するといったずれになります。 カルーセル設定でなければ、下のサムネイル(画像1)をクリックしたら、上のスライダー(画像1)になります。 解決策があればアドバイス頂けると助かります。
guest

回答1

0

ベストアンサー

moveSlides:1,を追加するとどうなりますか?
jQuery Content Slider | Responsive jQuery Slider | bxSlider

投稿2019/02/13 03:11

Lhankor_Mhy

総合スコア36074

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

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

kyo-web

2019/02/13 04:41

回答ありがとうございます。 moveSlides:1,を入れるとだいぶ求めている動きになったのですが、 今度は一つだけ画像が次の画像を表示してしまいます。 スライダーの部分にcssで真ん中表示するために div.silderinner { position:relative; left:50%; width:7000px; margin-left:-3500px; } を入れているのですがそれが原因になりえますか?
Lhankor_Mhy

2019/02/13 04:49

「一つだけ画像が次の画像を表示」とのことですが、当方の環境では、 画像1 画像2 画像3 となった時に、 サムネイル1 がハイライトしていました。 これは正しい動作であると思うのですが、質問者の認識は異なりますか?
kyo-web

2019/02/13 05:36

そうですね サンプルの画像みたいに HPが最初に表示された時の配列が 画像10 画像1 画像2 ではなくて 画像1 画像2 画像3 で表示されるため 最初のサムネイルのハイライトは 画像1にされていますが 実際スライダーで真ん中にきている画像は画像2になっている感じです。
Lhankor_Mhy

2019/02/13 06:07

となるとページャーの画像をずらすしかなさそうですね。
kyo-web

2019/02/13 06:24

ページャをずらして対応できました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問