前提・実現したいこと
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/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
checkベストアンサー
0
moveSlides:1,
を追加するとどうなりますか?
jQuery Content Slider | Responsive jQuery Slider | bxSlider
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
質問への追記・修正、ベストアンサー選択の依頼
mts10806
2019/02/12 16:06
> スライダー機能を実装中に以下のエラーメッセージが発生しました。
「エラーメッセージ」ではないですよね?質問テンプレートから作られたのかもしれませんが、「エラーメッセージ」とあると「どんなエラーメッセージがあったのだろう?」と見ている側としては期待しますので、その部分は実態で書くようにしてください。(質問は編集できますので適宜ご対応ください)
kyo-web
2019/02/12 16:12
失礼いたしました。
修正しておきました。
mri0815
2019/02/12 16:35
cssは記載いただいたもので全てでしょうか?
kyo-web
2019/02/13 10:45
質問ありがとうございます。
480px以下のcssが表記していなかったので修正しました。
これでcss全てです。
ご確認よろしくお願いします。
Lhankor_Mhy
2019/02/13 10:49
『下のサムネイルと上のスライダーの画像がずれます』とのことですが、ずれる、とは何がずれるのでしょうか? CSSレイアウトが崩れるとかですか?
kyo-web
2019/02/13 11:33
質問ありがとうございます。
下のサムネイルを押すと上のスライダーの該当する画像に移動するスライダーなのですが、上のスライダーをカルーセルで設定した場合(maxSlides : 3)、下のサムネイル(画像1)をクリックしても上のスライダーが(画像3)を表示するといったずれになります。
カルーセル設定でなければ、下のサムネイル(画像1)をクリックしたら、上のスライダー(画像1)になります。
解決策があればアドバイス頂けると助かります。