実現させたいことは、モーダルウィンドウで、bxsliderを使っている外部ファイルを読み込みたいということです。
(レスポンシブ)
インラインの内容をモーダルで表示させるプラグインは色々あったのですが、今回のように別ファイルを読み込むというプラグインがなかなかなかったので、magnific popupを選んでみました。
モーダルでページ自体を読み込んで来ること自体はできるのですが、bxsliderが機能しません。
bxsliderだけではなく、他のjavascriptも動かないようです。
/test自体(モーダルで読み込まなければ)ではきちんとbxsliderは動きます。
magnificPopupの指定を「type: 'ajax'」ではなく、試しにtype: 「type:'iframe'」にしてみるときちんと動作します。
こちらがリンク元
html
1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> 5 <!-- magnific-popup --> 6 <link rel="stylesheet" href="/lib/magnific-popup/magnific-popup.css"> 7 <script src="/lib/magnific-popup/jquery.magnific-popup.min.js"></script> 8</head> 9 10<body> 11 <a href="/test" class="popup">別ファイルへ飛ぶ</a> 12</body> 13</html>
javascript
1$(function() { 2 $('.popup').magnificPopup({ 3 type: 'ajax' 4 }); 5});
こちらがリンク先(/test)
html
1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> 5 <!-- bxslider --> 6 <link rel="stylesheet" href="/lib/bxslider/jquery.bxslider.css"> 7 <script src="/lib/bxslider/jquery.bxslider.min.js"></script> 8</head> 9<body> 10 <div class="slider"> 11 <a href="#"><div class="slider_box" style="background-image: url(/images/test1.jpg);"></div> 12 </a> 13 <a href="#"><div class="slider_box" style="background-image: url(/images/test2.jpg);"></div> 14 </a> 15 <a href="#"><div class="slider_box" style="background-image: url(/images/test3.jpg);"></div> 16 </a> 17 <a href="#"><div class="slider_box" style="background-image: url(/images/test4.jpg);"></div> 18 </a> 19 </div> 20</body> 21</html>
javascript
1$(function() { 2 if( $('.slider').size() > 0 ) { 3 $('.slider').bxSlider({ 4 controls: true, 5 minSlides: 4, 6 maxSlides: 4, 7 slideWidth: 50, 8 slideMargin: 10, 9 pager: true, 10 pagerCustom: '#bx-pager', 11 prevText: '〈', 12 nextText: '〉', 13 infiniteLoop: true 14 }); 15});
半日以上調べたのですが、解決策が見つからずで、やっぱりこちらを頼らせていただくことに
しました。
magnific popupでなくとも、もし他の方法で再現できればそれでも構いません。
jquery、javascriptについて、勉強はしているのですが、なかなか自分で解決できるようにならず
今回もお力をお貸しいただけたら幸いです。
何卒よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー