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

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

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

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

2211閲覧

Leaflet.jsからcolorbox.jsを呼び出したい

TJMYK

総合スコア82

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2016/12/21 16:09

編集2016/12/22 01:59

#実装したいこと
以下のソースコードで、詳細表示を押したときにモーダルウインドウが表示されるようになる
申し訳ございませんが、ご指導をお願い申し上げます。

JavaScript

1$(function() { 2 3 /////////////////////////////////////////// Leaflet //////////////////////////////////////////////////////////////// 4 5 DEF_LAT = 34.000000; 6 DEF_LNG = 135.000000; 7 8 var map = L.map('map').setView([DEF_LAT ,DEF_LNG], 10); 9 10 // OSMタイル 11 var tileLayer = L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', { 12 attribution : '&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors' 13 }); 14 tileLayer.addTo(map); 15 16 $.getJSON("/tomb_geo_json").done(function(data){ 17 var geojson = L.geoJson(data, { 18 onEachFeature: function (feature, layer) { 19 layer.bindPopup( 20 '<a class="ajax" href="/example.html">詳細表示</a>' 21 ); 22 } 23 }); 24 geojson.addTo(map); 25 }); 26 27 /////////////////////////////////////////// Colorbox /////////////////////////////////////////////////////////////// 28 29 $(".ajax").colorbox({ 30 innerWidth: 600, //幅の指定 31 innerHeight: 600, //高さの指定 32 opacity: 0.5 33 }); 34 35});

#現状
通常の以下のコードからの呼び出しは正しく動作します。
ただし、layer.bindPopupに組み込んだ場合実行されません

HTML

1<a class="ajax" href="/example.html">詳細表示</a>

#実践したこと

  • jQueryの呼び出し位置の変更
  • 以下のコードのように呼び出し順の変更

JavaScript

1$(function() { 2 3 4 /////////////////////////////////////////// Colorbox /////////////////////////////////////////////////////////////// 5 6 $(".ajax").colorbox({ 7 innerWidth: 600, //幅の指定 8 innerHeight: 600, //高さの指定 9 opacity: 0.5 10 }); 11 12 /////////////////////////////////////////// Leaflet //////////////////////////////////////////////////////////////// 13 14 DEF_LAT = 34.000000; 15 DEF_LNG = 135.000000; 16 17 var map = L.map('map').setView([DEF_LAT ,DEF_LNG], 10); 18 19 // OSMタイル 20 var tileLayer = L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', { 21 attribution : '&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors' 22 }); 23 tileLayer.addTo(map); 24 25 $.getJSON("/tomb_geo_json").done(function(data){ 26 var geojson = L.geoJson(data, { 27 onEachFeature: function (feature, layer) { 28 layer.bindPopup( 29 '<a class="ajax" href="/example.html">詳細表示</a>' 30 ); 31 } 32 }); 33 geojson.addTo(map); 34 }); 35 36});

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

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

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

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

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

guest

回答1

0

ベストアンサー

mappopupopen イベントを拾って、colorboxを適用させるとかでしょうか。

【Documentation - Leaflet - a JavaScript library for interactive maps】
http://leafletjs.com/reference.html#popup

【#events】
http://leafletjs.com/reference.html#events


追記:

JavaScript

1map.on('popupopen', function(e) { 2 //colorbox 3}); 4map.on('popupclose', function(e) { 5 $.colorbox.remove(); 6});

投稿2016/12/22 02:32

編集2016/12/22 06:35
kei344

総合スコア69400

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

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

TJMYK

2016/12/22 02:48

ご回答ありがとうございます。 popupがopenしている状態で、その中にリンクがあり、 そのリンクをクリックしたときに、colorbox.jsのモーダルを表示したいと考えています。
kei344

2016/12/22 02:51

だからその解決策を提示したつもりなのですが・・・。
kei344

2016/12/22 02:53

popupがopenするまで<a class="ajax">が無いのだからcolorboxを適用させられないだけでは。
TJMYK

2016/12/22 02:56

>popupがopenするまで<a class="ajax">が無いのだからcolorboxを適用させられないだけでは。 申し訳ございません。 どのようにすれば適応することができるのでしょうか。
kei344

2016/12/22 02:58

それを回答しています。
TJMYK

2016/12/22 03:54

もう少し、挑戦してみます。 kei344様、ありがとうございました。 一旦ベストアンサーで締め切らせていただきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問