- ベストアンサー
IEとFireFoxの両方で動作するJavaScriptコードの書き方が分かりません
- 現在、IEとFireFoxの両方で動作するJavaScriptコードの書き方が分かりません。
- FireFoxでは写真をクリックすると切り替わらないため、動いてくれません。
- JavaScriptのコードについて分かる方、教えていただけると助かります。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>「この1行を追加すれば両方で動く!」 >的なものはあるのでしょうか? とりあえず簡単なのは、オブジェクトやメソッドを利用する前に、 利用可能かチェックする事です。 今回の件では、Firefoxではfiltersが使えないので、下記の行でエラーになります。([ツール]→[エラーコンソール]でエラーを確認しましょう) >theIMG.filters.revealTrans.Apply(); ですから、filtersを使う前に、if文でチェックしています。 if(theIMG.filters) { //filtersが使える場合の処理 theIMG.filters.revealTrans.Apply(); } ブラウザによる違いは、誰もが苦労している問題だと思います。 簡単に解決出来る問題ではないので、少しずつ勉強していくしかないでしょう。 幾つか参考になりそうなものを挙げておきます。 http://www.tohoho-web.com/www.htm http://okwave.jp/qa2915032.html http://www.ichiro.to/note/cope http://www.keynavi.net/ja/tipsj/ident.html がんばって下さい。
その他の回答 (2)
- venzou
- ベストアンサー率71% (311/435)
フィルターはIE独自の機能なので使えませんが、 下記の様にして置けば、画像の切り替えは可能ですよ。 <script language="JavaScript"> <!-- num = 0; function wipe(theIMG) { num++; num %= 5; if(theIMG.filters){ theIMG.filters.revealTrans.Apply(); } theIMG.src = num+".jpg"; if(theIMG.filters){ theIMG.filters.revealTrans.Play(); } } // --> </script>
お礼
おっ!! できました、有難うございました。。
補足
すみません、なぜできたかのかがよく理解できていないのですが、 なにか 「この1行を追加すれば両方で動く!」 的なものはあるのでしょうか? 勉強不足です。。
- ANASTASIAK
- ベストアンサー率19% (658/3306)
それらのフィルタ効果はIE専用だからです。
お礼
なるほど、そう簡単にはいかないのですね。。orz がんばって勉強します。 有難うございました。