- ベストアンサー
<EMBED>タグのSRCの値のみ変更
いつもお世話になります。 <EMBED>タグのSRCの値を変更する方法は、 http://oshiete1.goo.ne.jp/qa3208428.html で紹介されていました。 SRCの値のみを変更する方法はないものでしょうか。 上記で紹介されている方法は、同時に他の属性も含めて全て書き直しているものだと理解します。そのためかどうかの原因まではわかりませんが、画像を変更すると、画像を表示するエリア全体が一度一瞬消えてまた書き直されます。 SRCの値のみ変更すれば、別の画像への切り替わりがスムーズに行くような気がするもので。 よろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
document.getElementById()を使えばURLの一部書換が簡単です。例えばsrc値だけ書き換えるばあいは document.getElementById(ID).setAttribute("src","新しい名前"); というようにsetAttribute()を使えば出来ます。 しかし、そもそも、 > SRCの値のみ変更すれば、別の画像への切り替わりがスムーズに行くような気がする という事は無い筈です。書き換えた時点でソース先を読込みに行って、ある程度読込まれた時点で表示がはじまると思いますので。 もしスムースに切り替わりをしたいならば、見えないところで読込んでおいて(display:none 等で不可視)、切り替えの時点で重ねるようにすれば良いと思います。つまり、レイヤーを2枚用意しておいて、いっぽうを見えない状態にしておいて読込ませ、切り替えの時に表示を逆にすれば良いわけです。 参考まで。
お礼
taketan_mydns_jpさん、レスありがとうございます。 早速いろいろと試してみました。 どうも、思うように画像ファイルが切り替わりません。 setAttributeについて、調べてみたら、 IEでのgetAttribute,setAttributeのバグ http://javascript-memo.seesaa.net/article/26138927.html なんてのがあったので、これを参考に document.getElementById(ID).src=Src; としてみましたが、やはりだめでした。 IDは、 <EMBED id="ID" ・・・/> で定義したものです。