■前提・実現したいこと
Slick js のスライダーを同一ページ内に複数設置したいのですが、複数設置した場合、表示が壊れてしまいます。各々で動かしたい場合のコードの書き方をご享受ください。
■発生している問題・エラーメッセージ
一つのページでidを指定しているため、同一ページでスライダーを設置すると処理が同じなため被ってしまう状態です。個別に設定を変える事で動くとは思うのですが、どのようにidの設定を変更するべきか分かりかねています。
※スライダーの設定は外注に依頼したため、私の知識ではどの部分をコーディングしていいかわからないため、お力添えいただければ幸いです!
何か必要なものがございましたらお気軽にお問い合わせください。
>ブラウザデベロッパーツールのコンソールにエラーが出ていないかもご確認ください
コンソールでのエラーはでておりません。
>また「PHP」はどのように関係するのでしょうか?質問内容からは分かりませんでした。
Wordpressを使っているため、使っていない場合と比べて、JQueryの書き方が違うと思いPHPと記載しました。
(html) <div id="wrap"> <div id="main_slider"> <div class="slide-item"> <div class="slider_text slider_first"><span>テキスト</span></div> <div class="slider_img"> <div class="slider_inner"><a href=""><img src="img/big/top.jpg" alt="画像"></div> </div> </div> <div class="slide-item"> <div class="slider_text"><span>テキスト</span></div> <div class="slider_img"> <div class="slider_inner"><a href=""><img src="img/big/1.jpg" alt="画像"></div> </div> </div> <div class="slide-item"> <div class="slider_text"><span>テキスト</span></div> <div class="slider_img"> <div class="slider_inner"><a href=""><img src="img/big/2.jpg" alt="画像"></div> </div> </div> <div class="slide-item"> <div class="slider_text"><span>テキスト</span></div> <div class="slider_img"> <div class="slider_inner"><a href=""><img src="img/big/3.jpg" alt="画像"></div> </div> </div> <div class="slide-item"> <div class="slider_text"><span>テキスト</span></div> <div class="slider_img"> <div class="slider_inner"><a href=""><img src="img/big/4.jpg" alt="画像"></div> </div> </div> <div class="slide-item"> <div class="slider_text"><span>テキスト</span></div> <div class="slider_img"> <div class="slider_inner"><a href=""><img src="img/big/5.jpg" alt="画像"></div> </div> </div> <div class="slide-item"> <div class="slider_text"><span>テキスト</span></div> <div class="slider_img"> <div class="slider_inner"><a href=""><img src="img/big/6.jpg" alt="画像"></a></div> </div> </div> </div> <div id="thumbnail_slider"> <div class="thumbnail-item"><a href="#"><img src="img/small/1.png"></a></div> <div class="thumbnail-item"><a href="#"><img src="img/small/2.png"></a></div> <div class="thumbnail-item"><a href="#"><img src="img/small/3.png"></a></div> <div class="thumbnail-item"><a href="#"><img src="img/small/4.png"></a></div> <div class="thumbnail-item"><a href="#"><img src="img/small/5.png"></a></div> <div class="thumbnail-item"><a href="#"><img src="img/small/6.png"></a></div> </div> </div>
(WordPressにslickを読み込む部分) <link rel="stylesheet" type="text/css" href="/slick/slick.css"/> <link rel="stylesheet" type="text/css" href="/slick/slick-theme.css"/> <script type="text/javascript" src="/slick/slick.min.js"></script> (CSS) <style>#wrap{background-color: #fff;padding-bottom:1em;} #main_slider{width: 100%;margin: 0 auto} #thumbnail_slider{width: 100%;margin: 0 auto 10px;padding:2px; background-color: #000;} .slide-item img{margin-bottom:0;width: 100%;} .thumbnail-item img{width: 98%;margin: 0 auto;background-color: #000;opacity: 0.5;} #main_slider .slider_first{background: rgba(0,0,0,0.7);} #main_slider .slider_text{font-size: 0.7em;position: absolute;bottom: 0;padding:2em;width:100%;z-index:101;} #main_slider .slider_text span{color:#fff} #main_slider .slider_img img{} .slick-next{right:10px;} .slick-prev{left:10px;z-index: 100;} .thumbnail-item img:hover{opacity:1} #entry-1,#entry-2{width:1.66%!important;height:12%;text-align:center;position:absolute;top:66%;font-size:1.5rem;padding:1rem;font-weight:bold;border-radius:0.5em;} #entry-1{float:right;background-color:#229833;right:50.7%;} #entry-2{float:right;background-color:#83d159;right: 47.7%;} #entry-1 a,#entry-2 a{text-decoration:none} #entry-1 span,#entry-2 span{color:#fff;} @media (max-width:1024px) and (min-width:768px){#entry-1,#entry-2{font-size:1.1rem;padding:0.5rem;}} @media (max-width:620px) and (min-width:468px){#entry-1,#entry-2{font-size:1.1rem;padding:0.5rem;}} @media (max-width: 467px){.s-size-sp #entry-1,.s-size-sp #entry-2{width:90px;height:35px;font-size:0.8em;padding:0.6rem;top:60%;} .s-size-sp #entry-1{right:50.7%;} .s-size-sp #entry-2{right:47.7%;}} </style>
<script> $(function(){var mainSlider = "#main_slider";var thumbnailSlider = "#thumbnail_slider"; $(mainSlider).slick({arrows: true,asNavFor: thumbnailSlider}); $(thumbnailSlider).slick({slidesToShow: 5,speed: 1000,asNavFor: mainSlider}); $(thumbnailSlider+" .slick-slide").on('click',function(){var index = $(this).attr("data-slick-index"); $(thumbnailSlider).slick("slickGoTo",index,false);});}); </script>