解決済

javascript~画像が表示されません~

ブログにて記事欄にソースを書き込みました。
投稿画面のプレビューでは表示されるのですが
投稿後ブログを開くと画像が表示されていません。
正常に画像を表示させるにはどうすれば良いでしょうか?
よろしくお願い致します。
ソースは下記です。


<script type="text/javascript"><!--
var img = pp1.gif,pp2.gif,pp3.gif";
var imgs = img.split(",");
var i=0;
var pic = new Array();
for(cnt=0; cnt<imgs.length; cnt++){
pic[cnt] = new Image();
pic[cnt].src = imgs[cnt];
}
function sulaidoImg1()
{
i++; i%=imgs.length;
imgFil1.filters.blendTrans.Apply();
imgFil1.src = pic[i].src;
imgFil1.filters.blendTrans.Play();
}
//-->
</SCRIPT>
<IMG id="imgFil1" style="filter:
blendTr ans(duration=3)" 
onfilterchange="setTimeout('sulaidoImg1()',3000)"><BR>
<SCRIPT><!--
imgFil1.src=pic[0].src;
setTimeout("sulaidoImg1()", 3000);
//-->
</SCRIPT>

2008-03-22 20:00の質問
この質問と回答を読んで役に立った場合は「役に立つ質問」に投票してください。投票が多い質問は、役に立つ質問一覧に掲載され、より多くの人に見てもらうことができます。
Ads By Google

回答(2)

1.

2008-03-22 20:11:08みんなナイスな
「改行をそのまま反映」にチェックが入っていませんか?スクリプトを埋め込む場合は「改行しても反映しない」にしないと、スクリプトがエラーを起こしますよ。
自信度 : 自信なし 回答レベル : アドバイス

2.

2008-03-23 00:35:50みんなナイスな
これまでに、指摘された部分が問題ないとすると、
投稿する場面と、ブログのトップor記事の場面とでファイルへのパスが変わることが原因じゃないでしょうか?
pp1.gif
のパスは、そのどちらでも有効ですか?
そうでないなら、フルパスで記述した方がいいと思います。
回答レベル : アドバイス
Ads By Google

コメント(17)

2008-03-22 20:31:39

>>1
「改行しても反映しない」にチェックを入れています。
他に何か考えられないでしょうか?

#3.  imq
2008-03-22 22:56:00

試していませんが↓が気になります。

2行目にダブルクォートが足りない

var img = pp1.gif,pp2.gif,pp3.gif";

var img = "pp1.gif,pp2.gif,pp3.gif";

imgのフィルタ指定のところに余計なスペースがある
filter:blendTr ans(duration=3)

filter:blendTrans(duration=3)

他に考えられるとしたら、
IEでしか動かないとか、複数の個所に貼る場合はちょっと工夫がいるとか。。

時間がとれないので、
あとの対応はtani_masaruさんお願いします(汗

2008-03-22 23:12:34

>>#3 
imqさん
ご指摘ありがとうございます。
ナレッジの質問欄に記載する際の漏れでした(汗)
実際のブログ記事欄にはダブルクォートがあり
余分なスペースもありません。

2008-03-22 23:41:35

「改行しても反映しない」とするにしても、下から6行目の<BR>は何のおまじないだろう?

2008-03-22 23:49:28

当方、Java文法は知りませんが、
setTimeout関数の第一引数が' 'で囲われている箇所と、" "で囲われている箇所がある。
大丈夫?

2008-03-22 23:55:43

余分な空白はない、とおっしゃるが、

blendTr ans(duration=3)"

記述の右端には前後を区切る空白は必要でしょう?
掲載されたコードには空白がありますが、実際は削り取ったりしていませんか。

2008-03-23 10:06:14

テンゾー&テンロクさんご指摘ありがとうございます。
>>#5 実はソースのサンプルを公開しているところから
参考に作ったので恥ずかしながら<BR>の意味は理解しておりません。
削除してみましたが動作は変わりませんでした。

>>#6 ””の中なので’’でと思ったのですが・・・

>>#7 実際の記事には
blendTrans(duration=3)"
で記載しております。
他の余白部分は質問のソースの通りです。

#10.  ブロガー
2008-03-23 10:14:29

>>2 フルパスで記載しております。
トップページに画像を掲載してみましたが
正常に表示されました。
記事欄は表示されません(涙)

#12.  imq
2008-03-23 11:47:39

>>#9
文法的には問題ないはずです(<BR>も)。

>>#3の確認ですが、複数の記事に貼っているということはないですか?

あとはありがちなグローバル変数名を用いているのが気になりますね。

#13.  BLUEPIXY
2008-03-23 12:59:30

本当にいわれるように、全て正しいとしたら、
(IE限定ではあっても)特に問題はありません。
問題のページを見せて貰う方が早いと思います。

#14.  ブロガー
2008-03-24 15:13:33

みなさん色々とありがとうございます。
本日ブログを見てみると画像は表示されていましたが
スライドショーとして表示されません。
問題のページです

http://blog.livedoor.jp/buroga11/

#15.  ブロガー
2008-03-24 15:30:52

色々と整理してたら1枚目から2枚目まではスライドショーとして
表示できるようになりました。
しかし2枚目で止まってしまいます。
画像は4枚あるのですが。

#16.  imq
2008-03-24 16:04:34

とりあえず変数iが別のスクリプトと被っているので、名前を変えてあげれば動くと思います。

できるだけグローバル変数を使わないようにして、やむを得ないときは他のスクリプトで使わないような名前を使って組んでみるといいかもしれませんね。

#17.  BLUEPIXY
2008-03-24 21:29:12

imq さんの言われるように、i が他で変更されてしまっています。
i→imgFil1i のように一意の名前になるように変更することで期待するように動作します。

#20.  ブロガー
2008-03-25 09:36:09

>>#16
>>#17
グローバル変数をローカル変数に変更することで
正常に動作しました。
imqさん、BLUEPIXYさん本当にありがとうございました。
この質問を解決済みにしたいと思いますが・・・
コメントにより解決しましたので解決方法に悩みます。
もし宜しければ解答欄に記載をお願いできないでしょうか?
お手数ですが宜しくお願いします。

#21.  BLUEPIXY
2008-03-25 23:57:31

最終的な解決となったグローバル変数の指摘をされていたのは、imqさんなので、imqさんに回答つけてもらうのがいいかと思いますが・
回答をつけてもらえないようなら、(私が言うのも変ですが)みんなナイスでいいかと思います。

#22.  ブロガー
2008-03-28 20:03:51

>>#21
回答がつきそうにありませんので
みんなナイスで解決済みにしたいと思います。
皆さん ありがとうございました。

トラックバック

トラックバックURL: