アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつもお世話になります。
<EMBED>タグのSRCの値を変更する方法は、
http://oshiete1.goo.ne.jp/qa3208428.html
で紹介されていました。
SRCの値のみを変更する方法はないものでしょうか。
上記で紹介されている方法は、同時に他の属性も含めて全て書き直しているものだと理解します。そのためかどうかの原因まではわかりませんが、画像を変更すると、画像を表示するエリア全体が一度一瞬消えてまた書き直されます。
SRCの値のみ変更すれば、別の画像への切り替わりがスムーズに行くような気がするもので。
よろしくお願いいたします。

A 回答 (1件)

document.getElementById()を使えばURLの一部書換が簡単です。

例えばsrc値だけ書き換えるばあいは
document.getElementById(ID).setAttribute("src","新しい名前");
というようにsetAttribute()を使えば出来ます。

しかし、そもそも、
> SRCの値のみ変更すれば、別の画像への切り替わりがスムーズに行くような気がする
という事は無い筈です。書き換えた時点でソース先を読込みに行って、ある程度読込まれた時点で表示がはじまると思いますので。

もしスムースに切り替わりをしたいならば、見えないところで読込んでおいて(display:none 等で不可視)、切り替えの時点で重ねるようにすれば良いと思います。つまり、レイヤーを2枚用意しておいて、いっぽうを見えない状態にしておいて読込ませ、切り替えの時に表示を逆にすれば良いわけです。

参考まで。
    • good
    • 0
この回答へのお礼

taketan_mydns_jpさん、レスありがとうございます。
早速いろいろと試してみました。
どうも、思うように画像ファイルが切り替わりません。
setAttributeについて、調べてみたら、
IEでのgetAttribute,setAttributeのバグ
http://javascript-memo.seesaa.net/article/261389 …
なんてのがあったので、これを参考に
document.getElementById(ID).src=Src;
としてみましたが、やはりだめでした。
IDは、
<EMBED id="ID" ・・・/>
で定義したものです。

お礼日時:2007/09/13 15:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!