Coda-Sliderでgooglemap表示不可

このQ&Aのポイント
  • jQueryのCode Slider 3.0を使用して横スライド型のWEBサイトを作成していますが、スライドパネル内にgooglemap V3を表示することができません。
  • スライドされる前のdivの縦横サイズが確定されていないため、googlemap表示の前提条件であるdiv id="map_canvas"のサイズの確定がされていない可能性があります。
  • 解決方法として、Code Slider 3.0のCSSを確認し、display:none;の部分を変更することが考えられますが、具体的な変更箇所はわかりません。
回答を見る
  • ベストアンサー

Coda-Sliderでgooglemap表示不可

jQueryのCode Slider 3.0 ( http://kevinbatdorf.github.com/codaslider/ ) で 横スライド型のWEBサイトを作成しております。 当該スライドパネルの内部にgooglemap V3を表示したいのですが、どうしても表示できません。 やりたいことは、スライドパネルにgooglemap v3を表示させたいだけです。 autoHeightはtrueです。 自分で調べたところによると、どうやらgooglemapはスライドされる前(隠れている状態「display:none;的な?」)はdivの縦横サイズが確定されていないため、googlemap表示の前提条件であるdiv id="map_canvas"のサイズの確定がなされないから・・・ということのような気がするのですが、結局どうしたらよいかわかりません。 /*********** おそらく類似の問題に、jQuery UI Tabsにてgooglemapが表示できない場合に、CSSにて display:none;の部分を以下のように変更すれば良いという見たことがあるのですが .ui-tabs .ui-tabs-hide { position: absolute; left: -10000px; } Code Slider 3.0のCSSにはそもそもdisplay:none;のような部分が見当たりません。 ***********/ どうしたら良いでしょうか。解決方法のご教授をお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

#1です。 >やはり一からjsソースを読んでみる必要があるようですね。 すぐにそこに行かなくても、方法はいろいろ考えられるのではないでしょうか。 autoHeightって親要素の高さにスライド部分の高さを合わせるっていうオプションですよね? とりあえず、CSSで高さを決め打ちの設定をしてみれば、それが原因なのかがわかるでしょう。 静的に高さが決まっているのならそのままで良いでしょうし、動的に高さが決まるのであれば、Sliderにその処理をまかせないで、mapを読込む前にスクリプトで設定するようにしてあげればよいのではないでしょうか。 いずれにしろ、jQueryを使用しているのでしょうから、2、3行で済むのではないかと思いますが…

mogi0891
質問者

お礼

解決いたしました! アルゴリズムはもはやわからないのですが、スクリプト内のオプションで continuous:false を指定するだけでした。 なぜ解決したかというと、片言の日本語で製作者様に突撃した結果、製作者もよくわからないということで、お互い試行錯誤しあったのち、なんとなくできたという感じです。 でも#1さんのお言葉のおかげでもっと頑張って勉強しようという意欲がわきました!ありがとうございました!

その他の回答 (1)

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

mapについて以前調べてみましたが、visibility:hiddenやz-indexを小さくしたり、位置を表示外にして見えないようにした場合は問題なく表示できていたように記憶しています。(おぼろげな記憶ですが) display:noneの場合は、ご指摘のようにダメでした。 >Code Slider 3.0のCSSにはそもそもdisplay:none;のような部分が見当たりません。 >autoHeightはtrueです。 display:noneになっていなくても、表示要素の高さが設定されていなければ(高さ0と見做される場合)、mapは表示できないと想像されます。 表示要素への高さ設定と、map表示の処理の順序が逆になっていないかを確認なさってみてください。

mogi0891
質問者

お礼

ご回答ありがとうございます。 なるほど表示の高さが設定されていることがやはり前提なのですね。やはり一からjsソースを読んでみる必要があるようですね。 合っているのかわかりませんが、 リンクをクリックしてから、びよーっとアニメーションで画面が縦方向に伸びていることから、伸び終わってから(アニメーションが終了して高さが確定してから?)、mapを呼び出すというのがわかりやすい気がしてきました。。。。。やり方はよくわかりませんが・・。

関連するQ&A

  • jQuery タブとスライダーの併用

    jQuery UIを使ったタブの中ひとつひとつにスライダーを置きたいのですが どうしても1つめのタブでしかスライダーが正しく動作しません。 overflow:hidden; が原因なのでしょうか。 どのように書き換えれば動作するようになるでしょうか。 スライダーはflexsliderを http://flexslider.woothemes.com/thumbnail-controlnav.html タブはこちらページを参考にしました http://alphasis.info/2011/07/jquery-ui-tabs-bottom/ css #jquery-ui-tabs { font-size: 12px; color: #666666; } .jquery-ui-tabs-bottom { position: relative; } .jquery-ui-tabs-bottom .ui-tabs-panel { height: 410px;width: 80%; overflow: auto; } .jquery-ui-tabs-bottom .ui-tabs-nav { position: absolute !important; left: 1px; bottom: 1px; right: 1px; padding: 0 0px 0px 0px; } .jquery-ui-tabs-bottom .ui-tabs-nav li { margin-top: -1px; border: 1px solid #d3d3d3 !important; border-top: !important; border-radius: 10px !important; color: #666666; } .jquery-ui-tabs-bottom .ui-tabs-nav li:hover { margin-top: 0px; border: 1px solid #aaaaaa !important; border-top: !important; border-radius: 10px !important; } .jquery-ui-tabs-bottom .ui-tabs-nav li.ui-tabs-selected { margin-top: 0px; border: 1px solid #000 !important; border-top: !important; border-radius: 10px !important; background-color: #cd5c5c !important; } script <script type="text/javascript"> // Can also be used with $(document).ready() $(window).load(function() { $('.flexslider').flexslider({ animation: "slide", controlNav: "thumbnails" }); }); jQuery( function() { jQuery( '#jquery-ui-tabs' ) . tabs(); jQuery( '.jquery-ui-tabs-bottom .ui-tabs-nav, .jquery-ui-tabs-bottom .ui-tabs-nav > *' ) . removeClass( 'ui-corner-all ui-corner-top' ) . addClass( 'ui-corner-bottom' ); } ); </script> HTML <div id="jquery-ui-tabs" class="jquery-ui-tabs-bottom"> <ul> <li><a href="#jquery-ui-tabs-1">その1</a></li> <li><a href="#jquery-ui-tabs-2">その2</a></li> <li><a href="#jquery-ui-tabs-3">その3</a></li> </ul> <div id="jquery-ui-tabs-1"> <div class="flexslider"> <ul class="slides"> <li data-thumb="images/XXX.png"> <img src="images/XXX.png"> </li> <li data-thumb="images/XXX.png"> <img src="images/XXX.png"> </li> <li data-thumb="images/XXX.png"> <img src="images/XXX.png"> </li> </ul> </div> </div> <div id="jquery-ui-tabs-2"> <div class="flexslider"> <ul class="slides"> <li data-thumb="images/XXX.png"> <img src="images/XXX.png"> </li> <li data-thumb="images/XXX.png"> <img src="images/XXX.png"> </li> <li data-thumb="images/XXX.png"> <img src="images/XXX.png"> </li> </ul> </div> </div> <div id="jquery-ui-tabs-3"> <div class="flexslider"> <ul class="slides"> <li data-thumb="images/XXX.png"> <img src="images/XXX.png"> </li> <li data-thumb="images/XXX.png"> <img src="images/XXX.png"> </li> <li data-thumb="images/XXX.png"> <img src="images/XXX.png"> </li> </ul> </div> </div>

  • coda-sliderというjavascriptを少しカスタムして使い

    coda-sliderというjavascriptを少しカスタムして使いたいのですが、 javascriptはほとんど無知に近いので、どなたかご教授願えますようお願いいたします。 http://www.ndoherty.biz/demos/coda-slider/1.1.1/ coda-sliderをカレンダーのような機能を持たせ使いたいと考えておりまして、 ちょっと説明がわかりにくいかもしれませんが、上記アドレスのサンプルを例としまして、 Panel1 , Panel2 , Panme3・・・は日にちに置き換え、その日にちをクリックしたら その日にアップした商品にスライドさせ、それとは関係なく矢印ボタンを押すと中のアイテムが 1つづつスライドしていく・・・ このような感じに仕上げたいと思っているのですが、上手くいきません。 日にちのほうはCSSを変えたら上手くいったので何とかなったのですが、矢印の場所を変えたり など他がどうにもいきません。 わかりにくい表現かもしれませんが、どうぞよろしくお願いいたします。

  • jqueryの tabを使用して外部リンクをしたい

    jqueryの tabを使用して外部リンクをしたい このサイトの下の方の マウスオーバーで切り替えを使用しているのですが タブをマウスオーバーで切り替えつつ、 タブ部分をクリックしたら外部にリンクさせるようするには どうしたらいいでしょうか? http://5am.jp/jquery/jquery_ui_tabs/ 以下タグです。 初心者で大変申し訳ありませんが、ご教授ください。 とても困っています。 よろしくお願いいたします。 ************************************************************* <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>無題ドキュメント</title> <head> <!-- jQuery --> <script type="text/javascript" src="jquery-1.4.2.js"></script> <script type="text/javascript" src="/jquery-ui-1.8.12.custom.min.js"></script> </head> <body> <script type="text/javascript"> <!-- jQuery( function() { jQuery( '#jquery-ui-tabs' ) . tabs( { event: "mouseover" } ); } ); // --> </script> <div id="jquery-ui-tabs"> <ul> <li><a href="#jquery-ui-tabs-1">タブ1</a></li> <li><a href="#jquery-ui-tabs-2">タブ2</a></li> <li><a href="#jquery-ui-tabs-3">タブ2</a></li> </ul> <div id="tab_area"> <div id="jquery-ui-tabs-1"> <ul> <li>タブ1内容</li> </ul> </div> <div id="jquery-ui-tabs-2"> <ul> <li>タブ2内容</li> </ul> </div> <div id="jquery-ui-tabs-3"> <ul> <li>タブ3内容</li> </ul> </div> <!--/#tab_area--></div> <!--/#jquery-ui-tabs--></div> </body> </html>

  • ページの上下に同じタブメニューを付けたい

    現在、wordpressにて、タブメニュー入りのページを作っていますが、添付の画像のように、ページの上下に、連動したタブメニューをつける方法を教えてください。 ちなみに、 ヘッダーに↓の記述をし、 <script> <!-- jQuery( function() { jQuery( '#jquery-sample-tabs > ul > li' ) . click( function () { var str = jQuery( 'input', this ) . val(); jQuery( '#jquery-sample-tabs > div' ) . not( str ) . css( 'display', 'none' ); jQuery( str ) . css( 'display', 'block' ); jQuery( this ) . css( { 'backgroundColor': '#F3F3F3', 'border-bottom': 'none' } ); jQuery( '#jquery-sample-tabs > ul > li' ) . not( this ) . css( { 'backgroundColor': '#f60', 'border-bottom': 'solid 1px #F3F3F3' } ); } ) . first() . click(); } ); // --> </script> cssに↓の記述をし、 #jquery-sample-tabs { width:750px; background:#F3F3F3; } #jquery-sample-tabs ul { background:#000; margin: 0; padding: 5px 5px; } #jquery-sample-tabs ul li { display: inline; margin: 1px; padding: 5px 20px; border: solid 1px #888888; border-radius: 5px 5px 0px 0px; background-color: #F3F3F3; cursor: pointer; } #jquery-sample-tabs div { padding: 10px 15px; } HTMLに↓の記述をしています。 <div id="jquery-sample-tabs" class="jquery-sample-tabs"> <ul> <li> <input id="#jquery-sample-tab-1" type="hidden" value="#jquery-sample-tab-1-contents" /> タブ(1) </li> <li> <input id="#jquery-sample-tab-2" type="hidden" value="#jquery-sample-tab-2-contents" /> タブ(2) </li> <li> <input id="#jquery-sample-tab-2" type="hidden" value="#jquery-sample-tab-3-contents" /> タブ(3) </li> </ul> <div id="jquery-sample-tab-1-contents">(1)の内容</div> <div id="jquery-sample-tab-1-contents">(2)の内容</div> <div id="jquery-sample-tab-1-contents">(3)の内容</div> </div> よろしくお願いします。

  • jquery スライダーが動かない

    昨日質問をしてなんとかクリアしたのですが、次はスライダーが動かなくて困っています。 問題のサイト:http://snapkidz.biz/wp/ 先日の質問:http://okwave.jp/qa/q7180952.html 教えて頂いたのを元に構築をしてメイン画像部分をスライダーにしようと思い構築したのですがうまくいきませんでした。 <!-- External files --> <link rel="stylesheet" href="<?php bloginfo( 'stylesheet_url' ); ?>"> <!-- Favicon, Thumbnail image --> <link rel="shortcut icon" href="<?php bloginfo('template_url'); ?>/images/favicon.ico"> <?php wp_head(); ?> <!-- ======================================= スライダーテスト ======================================= --> <script type="text/javascript" src="http://snapkidz.biz/slider1/script.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.3/jquery.min.js"></script> <link rel="stylesheet" type="text/css" media="screen" href="http://snapkidz.biz/slider1/style.css" /> </head> <body> <div id="page"> <div id="wrapper"> <div class="header" id="Top"> <h1><img src="http://snapkidz.biz/wp/wp-content/uploads/2011/12/blk_03.jpg" alt="Art・・"></h1> <div class="nav"> <ul> <li class="nav1"><a href=""></a></li> <li class="nav2"><a href=""></a></li> <li class="nav3"><a href=""></a></li> </ul> </div> <div class="siteImage"> <div id="slider"> <div class="slider-view"> <div class="slider-container"> <div><a href="#"><img src="http://snapkidz.biz/slider1/images/image1.jpg" alt="" /></a></div> <div><a href="#"><img src="http://snapkidz.biz/slider1/images/image2.jpg" alt="" /></a></div> <div><a href="#"><img src="http://snapkidz.biz/slider1/images/image3.jpg" alt="" /></a></div> <div><a href="#"><img src="http://snapkidz.biz/slider1/images/image4.jpg" alt="" /></a></div> <div><a href="#"><img src="http://snapkidz.biz/slider1/images/image5.jpg" alt="" /></a></div> </div><!-- // .slider-container --> </div><!-- // .slider-view --> <a href="#" id="slide-prev">&laquo;</a><a href="#" id="slide-next">&raquo;</a> </div> <p><img src="http://snapkidz.biz/wp/wp-content/uploads/2011/12/blk_03.png" alt="" class="top" /></p> </div> でcssが html,body{margin:0;padding:0;} #wrapper{width:980px;margin:0 auto;position:relative;} div.header{border:sold 1px solid;} div.header h1{position:absolute;top:0;left:0;} div.header div.nav ul,div.header div.nav ul li{list-style:none;margin:0;padding:0;} div.header div.nav ul{display:block;height:70px;width:242px;text-align:right;background:url(http://snapkidz.biz/wp/wp-content/uploads/2011/12/blacknav.jpg);background-repeat:no-repeat;position:relative;left:737px;top:40px;} div.header div.nav ul li{display:inline;width:85px;} div.header div.siteImage{position:relative;width:100%;min-width:640px;} div.header div.siteImage img.top{position:absolute;top:-80px;left:400px;} です。 スライダーダウンロード元:http://unformedbuilding.com/articles/jquery-simple-loop-slider/ head部分の記載が違うのかと思ったのですが、そうではないようでした・・・ 何が原因なんでしょうか? 宜しくお願い致します。

  • 画面サイズに合わせて、中心がずれないスライダ

    どなたか、助けてください!!!! http://www.altour.com/ ↑ このような、横幅一杯にメインビジュアルがあり、 且つ、ウィンドウサイズに合わせて、 メインビジュアルの中心がずれないスライダ式の トップページを作りたく、 HTMLとCSSとjQueryでデザインしております。 このページのソースコードを見たり、 ネット検索で横幅いっぱい表示のスライダの作り方を探したり、 いろいろしているのですが、 まったくやり方がわかりません。。。。 jQueryでもそのようなプラグインが探せ出せませんでした。 どのようにしたら作れるか、 どなたか教えていただけませんでしょうか??

    • 締切済み
    • CSS
  • ドラッグによるスライド移動をさせない方法(safari/chrome)

    お世話になります。 早速ですが質問させていただきます。 jQuery1.3.2とEasySlider1.7プラグインを使っています。 EasySliderを使ったスライドの中にテキストボックスを配置しているのですが、 このテキストボックスでドラッグしてスライドの領域外へ移動させると 次のスライドへ移動してしまいます。 (safari と google chrome のみ) これを移動させないよう固定する方法はありませんでしょうか? 以下にソースコードを載せておきます。 ------------------------------------------------------- <html>  <head>   <title>Easy Slider TEST</title>   <script type="text/javascript" src="lib/jquery/jquery-1.3.2.js"></script>   <script type="text/javascript" src="lib/jquery/easySlider1.7.js"></script>   <script type="text/javascript">    $(document).ready(function(){     $("#slider").easySlider();    });   </script>   <style type="text/css">    #slider{}    #slider ul{     list-style-type:none;     margin:0px;     padding:0px;    }    #slider ul li{     height:100px;     width:300px;    }   </style>  </head>  <body>   <div id="slider">    <ul>     <li><div style="height:100%; background-color:#aaa;">      <input type="text" name="text" value="slide-1" />     </div></li>     <li><div style="height:100%; background-color:#bbb;">slide-2</div></li>     <li><div style="height:100%; background-color:#ccc;">slide-3</div></li>    </ul>   </div>  </body> </html> ------------------------------------------------------- ■jQuery1.3.2■ http://docs.jquery.com/Release:jQuery_1.3.2 ■EasySlider1.7■ http://cssglobe.com/post/5780/easy-slider-17-numeric-navigation-jquery-slider 以上、よろしくお願い致します。

  • jQueryでスクロールボックスを・・・

    添付画像のような縦の自動スライドショーを作ったのですがスクロールボックスのバーがそのままなのが非常に気になります。 そこで自動スライドと共にスクロールバーもそのイメージに合わせて自動スクロールさせたいのですがどうすればいいでしょうか?プラグイン、もしくはJavaScriptの記述例を教えていただけると幸いです。宜しくお願いします。 【一部ソース】 ▼script <script type="text/javascript"> $(document).ready(function(){ $("#featured > ul").tabs({fx:{opacity: "toggle"}}).tabs("rotate", 4000, true); }); </script> ▼html <div id="featured"> <ul class="ui-tabs-nav"> <li class="ui-tabs-nav-item ui-tabs-selected" id="nav-fragment-1"></li> <li class="ui-tabs-nav-item" id="nav-fragment-2"></li> <li class="ui-tabs-nav-item" id="nav-fragment-3"></li> :繰り返し : </ul> <div id="fragment-1" class="ui-tabs-panel" > <img src="img/no.jpg" alt="" width="250" /> <div class="info" > <h2></h2> </div> </div> :繰り返し : </div>

  • jQuery slider2のページアイコン

    小生、ウェブサイト制作経験はアリながらもJavascriptに関しては全くの素人です。 既成のJavascriptプログラムの中でスライドショー向けのjQuery slider2をダウンロードし、 ウェブサイトに適応してみました。 概ね思った通りに作動するものの、スライダー部分の右下に表示されページアイコン(class="jquery-slider-page"として作成されている部分?)が、現在表示している部分に相当するアイコンをクリックすると、現在表示している画像を進行方向に流してしまい、背景が表示されるようになっています。 なおかつ、背景が表示された状態でもう一度同じアイコンをクリックすると、消えているはずの現在ページが一瞬表示されるものの、すぐに進行方向へ流してしまうというおかしな動作をします。 もともと期待されていた動作ではないと思うのですが、ダウンロードしてきたものをそのまま使ってこのような動作になってしまっていました。 不得手ながら中身を読み取ってみたところ、現在表示しているページのページアイコンをclass="jquery-slider-page"からclass="jquery-slider-page-current"に書き換えることで、アイコンの表示を変更しているようなので、一時的にclass="jquery-slider-page-current"のクリックを不可にすれば解決するのかなとは思うのですが、何かよい方法はないでしょうか。 使用しているjsは下記のとおりです。 https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js jquery.slider.min.js(http://wex.im/javascript/jquery-slider2にて公開されているファイルをダウンロードして使用) また、専用のCSSも特に書き換えなどせずに読み込ませて使用しています。 他にもjs併用はしていますが、紹介サイトでも同様の動作をしていたので、他のjsによる干渉などではない様です。 よろしくお願いします。

  • jquery ui.resizable 使い方

    jquery ui.resizable でdivをリサイズするとき同時に内部にあるdivをリサイズしたいのですができません。 <div id="out"> <div id="inner"> </div> </div> で、 http://stacktrace.jp/jquery/ui/interaction/resizable.htmlを参考にして、 $('#out').resizable({proportionallyResize:["#inner"]}); としてみたのですが、#outは、リサイズできますが、#innerを同時にリサイズできません。 組み込んだjs、cssは、 http://jqueryui.com/download よりDLした、jquery-jquery-ui-1.8.7-0-g12bea93.zipに納められていた jquery.dimensions.js jquery.ui.core.js jquery.ui.widget.js jquery.ui.mouse.js jquery.ui.resizable.js jquery.ui.draggable.js 及び jquery.ui.resizable.css を、記載の順に組み込みました。 行いたいことは、divをリサイズしたとき、その内部のdivも同時にリサイズすることです。 proportionallyResizeを使う方法でなくても構いません。 方法のわかる方なにとぞよろしくお願いいたします。