###前提・実現したいこと
JQueryでタブ切り替えをした要素の中にjQueryプラグイン・Swiperを使用したスライダーとjQueryプラグイン・READMOREを使おうとしたのですが最初のタブではきちんと実装されているのですが二つ目のタブからJQueryが効いていません。
色々調べてみたのですが何が原因かわかりません。
調べて思い当たるのはdisplay: none;を使用すると2つめのタブからJQueryが効かないという事です。
display:none;を使わないタブtab
上記サイトを参考に実装してみましたが、一つ目のタブから要素が表示されませんでした。
他のCSSが関係しているのかもしれませんが、解決方法も見つからず、諦めました。
分かる方がいらっしゃいましたら、お力をお借りできれば幸いです。
よろしくお願いいたします。
Swiper:http://idangero.us/swiper/#.WAN9cpiLSRs
READMORE:http://jedfoster.com/Readmore.js/
###HTML
<div class="brd-title clearfix"> <ul class="tab"> <li class="tab_select tab_ti01"><img src="image.png"></li> <li class="tab_ti02"><img src="image.png"></li> <li class="tab_ti03"><img src="image.png"></li> <li class="tab_ti04"><img src="image.png"></li> <li class="tab_ti05"><img src="image.png"></li> </ul> </div> <ul class="tab_content"> <li class="tab_spe"> <div class="swiper-container"> <div class="swiper-wrapper"> <div class="swiper-slide"> <!-- Slide-01 コンテンツ --> <ul id="brand_lis" class="clearfix"> <li class="brand_lis-i"> <dl> <dt><a href="http://" target="_top"><img src="image/br_img.png"></a></dt> <dd class="title"><a href="http://" target="_top">ブランド名</a></dd> <dd id="textOverflow">sample text</dd> </dl> </li> <li class="brand_lis-i"> <dl> <dt><a href="http://" target="_top"><img src="image/br_img.png"></a></dt> <dd class="title"><a href="http://" target="_top">ブランド名</a></dd> <dd id="textOverflow">sample text</dd> </dl> </li> <li class="brand_lis-i"> <dl> <dt><a href="http://" target="_top"><img src="image/br_img.png"></a></dt> <dd class="title"><a href="http://" target="_top">ブランド名</a></dd> <dd id="textOverflow">sample text</dd> </dl> </li> </ul> <ul id="brand_lis" class="clearfix"> <li class="brand_lis-i"> <dl> <dt><a href="http://" target="_top"><img src="image/br_img.png"></a></dt> <dd class="title"><a href="http://" target="_top">ブランド名</a></dd> <dd id="textOverflow">sample text</dd> </dl> </li> <li class="brand_lis-i"> <dl> <dt><a href="http://" target="_top"><img src="image/br_img.png"></a></dt> <dd class="title"><a href="http://" target="_top">ブランド名</a></dd> <dd id="textOverflow">sample text</dd> </dl> </li> <li class="brand_lis-i"> <dl> <dt><a href="http://" target="_top"><img src="image/br_img.png"></a></dt> <dd class="title"><a href="http://" target="_top">ブランド名</a></dd> <dd id="textOverflow">sample text</dd> </dl> </li> </ul> </div> <div class="swiper-slide"> <!-- Slide-02 コンテンツ --> Slide-01 コンテンツと同じ </div> </div> <div class="swiper-button-prev"></div> <div class="swiper-button-next"></div> </div> </li> <li class="hide tab_spe"> タブ1の内容と同じ </li> <li class="hide tab_spe"> タブ1の内容と同じ </li> <li class="hide tab_spe"> タブ1の内容と同じ </li> <li class="hide tab_spe"> タブ1の内容と同じ </li> </ul>
###CSS
.tab { overflow: hidden; } .tab li { float: left; cursor:pointer; } .tab li.tab_select { cursor:pointer; } .tab_content { width: 820px; } .tab_content li.tab_spe { padding: 20px 10px; } .hide { display: none; } #brand_lis { margin-bottom: 13px; } ul#brand_lis-inner { margin-bottom: 15px; } li.brand_lis-i { width: 266px; float: left; margin: 0 !important; padding: 0 !important; } li.brand_lis-i dt { width: 253px; height: 198px; padding: 6px; margin-bottom: 8px; } li.brand_lis-i dt img { } li.brand_lis-i dd { font-size: 11px; margin-bottom: 3px; width: 253px; margin: 0 auto; } li.brand_lis-i .title { font-size: 12px; font-weight: bold; margin-bottom: 8px; text-align: center; } li.brand_lis-i .off { font-size: 12px; color: #F00; } #textOverflow { width: 253px; max-height: 80px; overflow: hidden; margin-bottom: 5px; }
###JS
/* タブ切り替え ========================================================*/ $(function() { $('.tab li').on('click', function () { var num = $('.tab li').index(this); $("li.tab_spe").addClass('hide') .eq(num) .removeClass('hide'); $('.tab li').removeClass('tab_select'); $(this).addClass('tab_select') }); }); /* readmore ========================================================*/ $(document).ready(function() { $('#textOverflow').readmore({ speed: 100, maxHeight: 80, moreLink: '<a href="#">→続きを読む</a>', lessLink: '<a href="#">←閉じる</a>' }); }); /* swiper ========================================================*/ var mySwiper = $('.swiper-container').swiper({ pagination: '.swiper-pagination', speed: 2000, centeredSlides: true, paginationClickable:true, calculateHeight:true, nextButton: '.swiper-button-next', prevButton: '.swiper-button-prev' });
回答1件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。
2016/10/16 18:58
2016/10/16 19:46 編集
2016/10/16 21:19