- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:JavaScriptでクレイアニメ。ちらつきます。)
JavaScriptでクレイアニメ。ちらつきを抑止する方法は?
このQ&Aのポイント
- JavaScript初心者がWindows7とGoogleChromeを使用してクレイアニメを作成しましたが、画像がちらついてしまいます。画像タイプの問題かと思い、gifファイルも試しましたが改善されませんでした。このちらつきを抑止する方法はあるのでしょうか?
- クレイアニメを作成している中で、画像がちらつく現象が起きます。画像の種類に関係なく、チカチカする問題は解決できないでしょうか?ハード的な問題である場合、プログラムで対策することはできないのでしょうか?
- クレイアニメを作成している際に、画像がちらつく問題に悩んでいます。時折チカチカすることもあり、常時スムーズに表示される方法はないでしょうか?ネット上でチカチカを強調する方法についてはたくさん見つかりますが、チカチカを抑える方法については情報が少なく困っています。どなたか教えていただけませんか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#202910
回答No.2
画像のロード時間のせいみたいなので、 最初に .hide { display:none}のようなcssを定義。 photo0~phpto10まで、全てのimgタグを作り、class=hide をつける。 としておき、setIntervalの中で、 #area > img にeach()でhideをつける。 見せたい1つのimgだけはhideを外す。 としてはどうでしょうか。
その他の回答 (1)
- pasocom
- ベストアンサー率41% (3584/8637)
回答No.1
試してみるべきこと。 1)違うブラウザを使ってみる。 2)タイマー間隔を200msではなく、もっと長くしてみる。 3)画像のファイルサイズを小さくしてみる。(圧縮率を上げる)
質問者
お礼
ご指摘ありがとうございます。 おもしろいことに、FireFoxでは問題が生じていないことがわかりました。 試すといろいろわかるものですね。
お礼
画像ロード時間に問題ありというご意見を参考に .hide{ position:absolute;left:10px;top:10px; }画像全部の配置場所を固定して <p><img class="hide" src=~~></p>とタグを画像分だけ#area中に設けて $("#area p").each(function(){$(this).hide();}); $("#area p:first").show(); スクリプト初期設定時点でjQueryで画像消去と最初の画像表示を行い $("#area p").each(function(){$(this).hide();}); $("#area p:eq("+count+")").show(); setInterval側の画像差し替え動作をこうしてみたところ、 成功しました。すっきりしました。ありがとうございました。 ちなみに、画像読み込み場所を1箇所に重ねずページに読み込み({display:none;}にしておく)、$("#area").html()←にimgタグを送り込むやり方も試してみましたが、これも画像読み込みを済ませてあるのに、最初と大差ないちらつくアニメでした。 画像ロードを先に済ませれば大丈夫と思ったら、そうもいかないものですね。