• ベストアンサー

Fancyboxのiframe内に閉じるボタン

Fancyboxのiframe機能(というのでしょうか?)を使って、クリックすると準備しておいたHTMLファイルをFancyboxで表示させるところまでできました。 Fancybox の右上に出てくる「閉じる」ボタンの他に 埋め込んで表示しているHTMLファイル内に「閉じる」というボタンを配置して Fancyboxを閉じたいのですが、HTMLファイルにどのような記述をしたらいいのか分からず困っております。 いろいろ調べてみたのですが、jQueryなどのスキルが乏しく、途方にくれています。 iframeで表示しているファイルには閉じるボタンが埋め込めないのでしょうか?

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

  • ベストアンサー
  • shockatz
  • ベストアンサー率80% (153/191)
回答No.3

#1です。 あー、そうか、iframe内のhtmlそのものの書き方だっけ? <input type="button" value="閉じる" onClick="closeMe()" /> で、 <script type="text/javascript"> function closeMe(){ parent.$.fancybox.close(); } </script> でした。

maikonyan3
質問者

お礼

閉じる構文は調べて分かったのですが、Javascriptの書き方が分からず苦戦していたのですが、 すっきり閉じることができました。 #1と合わせて、感謝です!!ありがとうございました。

その他の回答 (3)

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

No.2です。 No.3様の回答を見て意味がわかりました。(表示するiframe内のソースのことですね) 失礼しました。すでに回答が出ていますね。 fancyboxのexamplesの中にも、そのものがあります。 下の方のiframeの例で表示される、「Close iframe parent」のソースを見てみればわかるかと。 (No.3様の回答と同じ方法ですが)

maikonyan3
質問者

お礼

> 下の方のiframeの例で表示される、「Close iframe parent」のソースを見てみればわかるかと。 そうなんですね。調べればよかったんですね… ソースを見てもよくわからず、もっと調べてから質問するよう気をつけます。 ありがとうございました。

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

>HTMLファイル内に「閉じる」というボタンを配置して >Fancyboxを閉じたいのですが どういうことをしたいのかよくわかりませんが、この手のやつって拡大表示している時にはバックグラウンドに半透明のスクリーンを表示していませんか? 通常だと「閉じる」ボタンもそのスクリーンの下側にはいってしまうので、押せなくなると思いますが、そういう意味ではないのかな? また、デフォルトの閉じる(×マークやclose)部分をクリックしなくても、背景のスクリーン部分のどこかをクリックすれば通常は閉じるようになっていると思いますけれど、それ以外にわざわざ「閉じる」ボタンを設置したいという意味がわかりかねます。 なんか、意味を読み間違えているのかな…

maikonyan3
質問者

お礼

iframeとして表示したページの一番下に「閉じる」ボタンが必要で、ご質問させていただきました。 デフォルトの閉じるや、背景部分をクリックしても消えるのですが、使い方を知らない方もいるから…ということでボタンが必要になりました。 表現の仕方が悪くて、困惑させてしまいもうしわけありませんでした。

  • shockatz
  • ベストアンサー率80% (153/191)
回答No.1

iframeモードのfancybox表示を、iframe内部から閉じる、ということ? なら、 parent.$.fancybox.close(); じゃないけ?

関連するQ&A