javascript:display: none;で動画オブジェクト消失

YouTubeの動画を読み込んだ領域を含むdivタグのスタイルをdisplay: none;にした後に、display: ”;で復帰させてからプレイヤーのloadVideoByIdメソッドを実行したら、firebugで、「そんなメソッドは定義されてないよ!」と怒られてしまった…。

原因はおそらく、display: none;にしたからだろう。display: none;にするメソッドを実行したら、再生中の動画も自動的にストップしたので、objectも消滅したことになるだろうか?(ソース上は存在するのだが…)

真っ先に考えたのは、display: none;にするのではなく、画面から見えない場所に飛ばしてしまうこと。つまり、left: -9999px;とかだ。
一応、ググッてみると、やっぱり同じようなことをしている人がいた。

http://blog.livedoor.jp/bkpg/archives/446185.html

現状、left: -9999px;にしておいて、再生するときに、$(“hoge”).removeAttribute(“style”);にして、元の位置に戻すようにした。とりあえずこれでいいのではないかな?と。まぁあんまりスマートではないけど…。つーかdisplay: none;でオブジェクトが消失しないでほしかった…。


カテゴリー JavaScript | タグ | パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です