• 締切済み

アニメーション 動作不良 原因不明

iframe を使用して動画を作成しました。 画像を徐々に右側に移動させる予定ですが、 WEB 上にのせたところ、ページの立ち上げの際に 一旦、画像がおかしな場所に表示されてから 指定位置に瞬間移動するという不具合が発生しています。 ローカル環境では、このような問題が発生しておりません。 http://uuur.web.fc2.com/web/test/out0.html どなたか、ページの立ち上がりの際のこのような不具合を解決する方法をお教え下さい。 以下にコードをのせますので、よろしくお願いいたします。 <body onLoad="start()" > -------------------------- var x=1000; var intvl = 30 ; var timer ; function start() { timer = setInterval('winScroll()', intvl) ; } function winScroll(){ if ( x < 200 ) { clearInterval ( timer ); alert("next"); GoNextStep() ; } else { Frame01.scroll(x,0); } x--; }

みんなの回答

回答No.2

ページの読み込みはかならず(0, 0)の位置で表示されます。 そのあとのwinScroll()の1回目として、scroll(1000, 0)を実行しますので、(1000, 0)にスクロールされます。 ページの読み込みに時間がかかればどうしても最初のスクロール前の状態が表示されますので、 body{display:none}を指定しておいて、 アニメーションを開始する前にscroll()を行ってからbody{display:block}に切り替えるか、 HTMLの構造が条件に合えば、 <iframe src="in01.html#scrollpos"></iframe> としておいて、in01.htmlの中で一番右側に表示されている物にid="scrollpos"などとIDを付けてみる のが一番簡単だと思います。 なお、IEではstartは予約語ですので、たぶん動かないのではないでしょうか。 他の名前を付ける事をお勧めします。

mqm
質問者

補足

2番目の方法で、フレームの最下部の ID を初期表示させることと、 1番目のように最初に scroll を行なうことを実際に試してみました。 http://uuur.web.fc2.com/web/test/out022.html このサイトに訂正した作品を載せました。 CSS の指定に関しては、display:none が無効であったため、 visibility に置き換えてみましたが変化がありませんでした。 style="visibility:none ;" を最初に記述して Script 内部で body.style.visibility="block" ; を呼び出しましたが、白紙のページのまま何も表示がされませんでした。 CSS の操作に関しては詳しくありませんので、 訂正されたサイトをご覧いただけますでしょうか。 よろしくお願いします。

回答No.1

その動画を載せたソースはいいのですが、 HTMLの表示座標はあってますか? 普通はCSSでボックス作って、任意の場所に固定させるのですが? それをなしに置いたら、おかしなとこになるのは当然です。 だって、貴方と同じ解像度のモニターと同じブラウザーの表示画面出さないと再現しませんから。

mqm
質問者

補足

CSS で表示座標を指定したところ、フレーム内のページの中で画像自体が移動して表示されてしまい、親画面からフレームページの初期座標を指定する方法が分かりません。 よろしくお願いいたします。

関連するQ&A