Flashの上にHTMLオブジェクトを配置する方法
1年以上前の記事です。内容が古い可能性があります。
デザイナーからちょっとした注文が入ったので久しぶりにFlashをいじってみた。
Flashのコンテンツの上にHTMLのボタンを配置したいらしい。
何も設定しないとこういった形でFlashが上に出てしまう。
これは実は簡単で、Flashを透明にして、あとはCSSのz-indexで上下関係を設定してあげれば良い。
Flashの上にJavaScript(JQuery)で作られたプルダウンメニューを配置する際に頻繁に利用していた。
具体的には
- 上に乗せたいHTMLのオブジェクトにCSSで「z-index:1」と設定する。
- Flashのパラメータ「wmode」を「transparent(透明)」に設定する。
といった流れ。
HTMLオブジェクトに「z-index:1」を設定するのは簡単だと思うので端折ります。
問題はFlashのパラメータ「wmode」を「transparent(透明)」に設定する方法。
Dreamweaver(ドリームウィーバー)をお持ちの方は該当のFlashを選んで以下のように設定すればOK。
ただ、最近はFlashを使うときはswfobject使うことが多い。
swfobjectを使った上での設定は以下のように直接Javascriptを修正すればOK。
<!–
var so = new SWFObject(“images/top.swf”, “できない。わからない。プロットファクトリーが解決します。”, “700”, “230”, “7”, “#ffffff”);
so.write(“flashcontents”);
// –>
</script>
↓
<!–
var so = new SWFObject(“images/top.swf”, “できない。わからない。プロットファクトリーが解決します。”, “700”, “230”, “7”, “#ffffff”);
so.addParam(“wmode”, “transparent”);
so.write(“flashcontents”);
// –>
</script>
太字の部分を追加してあげれば良いということになる。
なお、通常のFlashの場合でもソースレベルで修正は当然可能。
念のため、そのソースも引用させて頂きます。
(上記、Dreamweaverを使ってやる方法で生成されるソースとなります。)
<param name=”movie” value=”images/top.swf” />
<param name=”quality” value=”high” />
<embed src=”images/top.swf” quality=”high” pluginspage=”http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash” type=”application/x-shockwave-flash” width=”700″ height=”230″></embed>
</object>
↓
<param name=”movie” value=”images/top.swf” />
<param name=”quality” value=”high” />
<param name=”wmode” value=”transparent” />
<embed src=”images/top.swf” width=”700″ height=”230″ quality=”high” pluginspage=”http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash” type=”application/x-shockwave-flash” wmode=”transparent”></embed>
</object>
こちらも太字の部分を追加すれば良いということになる。
まとめると、
swfobjectを使った場合はJavaScript内に「so.addParam(“wmode”, “transparent”);」を記入。
objectタグを使った場合はparamタグ「<param name=”wmode” value=”transparent” />」を記入。
embedタグを使った場合はembetタグ内に属性「wmode=”transparent”」を記入。
と言った形になる。
で、うまくいくと以下のようにFlashの上にHTMLで書いたメニューが表示されるようになる。
まあ、無理にFlashの上にHTMLのオブジェクトを乗せるなんてことしなくても、Flash内にすべて入れ込んじゃえばいいと考える人もいる筈。
ただ、SEOを考えた場合はそうしないほうがいい場合もあるんですよねぇ。
アドセンス広告メイン
関連記事
-
これはすごい! 独自の3Dライブラリで動くFlashの対戦ゲーム
1年以上前の記事です。内容が古い可能性があります。「Flashで3Dはできるのか …
-
NHK受信料は払うな。裁判でテレビがあっても契約書がなければ支払う必要はないとの結果
1年以上前の記事です。内容が古い可能性があります。テレビネタをもう一つ。 今度は …
-
Flashのシェイプトゥイーンマスターを目指せ!
1年以上前の記事です。内容が古い可能性があります。まあ、なんてことはないのですが …
-
OpenPNE 2.14.0にアップグレード(7/29追記)
1年以上前の記事です。内容が古い可能性があります。OpenPNEの安定版が「2. …
-
会社を辞める方法
1年以上前の記事です。内容が古い可能性があります。何かとこういった記事には反応し …
-
検索の裏技
1年以上前の記事です。内容が古い可能性があります。何かネットで調べたいときによく …
-
どんな些細なことでも110番。酔っ払いと仲間たちだと思っていたら被害者死亡の傷害致死事件だった
1年以上前の記事です。内容が古い可能性があります。一度、自転車で転倒して、そのま …
-
Dreamweaverの同期機能を使いこなす。動的サイトは「クローク」機能で同期対象から外す
1年以上前の記事です。内容が古い可能性があります。いや、こんな便利な機能だったら …
-
Appleの「Retina(レチナ)ディスプレイ」とはなんなのか?
1年以上前の記事です。内容が古い可能性があります。Appleの新商品発表会「WW …
-
livedoorブログで「Blackbird Pie」を使う方法
1年以上前の記事です。内容が古い可能性があります。まずは「Blackbird P …
- PREV
- 2日連続ネットで祭り、今度は「皆既月食」
- NEXT
- 「AKB48」全員Google+始める