ここまでくると、 スクロールを早送りしたり、静止させたり、巻き戻してみたり、したくなります。 原理は簡単です。 前ページで、スピードを移動ピクセル数で、「 rl 」という置場に入れて使いました。 すなわち rl=3; と書いてありました。 これを、入替えれば、スピードや移動方向が変えられそうです。 rl=10;とすれば早送りに rl=−3;とすればマイナス方向、すなわち逆転に rl=0;とすれば静止するはずです。 それでは、この値をどうして、伝えて、置場の値と入れ替えたらいいでしょう。 それには<FORM>の<INPUT>タグを使います。 <FORM> <INPUT type=”button” value=”表示” onClick=”命令( 値 )”> </FORM> スピード置場の値を入替える命令はどのように作ればいいかというと function 命令( 仮置場名){ } ( )の中に送られてくる値の仮置場名を書いておき 仮置場から、スピードを格納してある置場に rl=d; のように移すだけでいいのです。 具体的には function irekae( d ){ rl=d; } のように書きます。 写真の上にボタンを配置して、ボタンをクリックするとその方向に動き出すページを作って見ますと ここをクリックしてセットしてください。 表示されたら、[ > ]ボタンをクリックして動かせてください。 初期化/セット ボタンも一緒に動いてしまって、隠れてしまいました。これでは使い物になりません。 ボタンは静止し、写真だけ動かすのはどうしたらいいでしょう。 まず、ボタンのページと写真のページは別々のページにします。 JavaScriptはボタンのページに書き、写真ページは 写真に表示だけのページにします。 この二つのページを一画面に表示するにはフレームを使います。 と書くとボタンのページが、上の26ピクセルのフレームに、下のプレームには写真のページがセットされます それではここをクリックしてセットしてください
問題は、ボタンのページのJavaScriptの命令で、別のページを制御するかですが parent .フレーム名 .命令( ); と書くと、そのフレーム名のところにセットされているページに反映されるのです。 したがって、前項では scroll(rl,0); と書かれていたスクロール命令を parent .sita.scroll(rl,0); と書きかえるだけで、写真のページが制御できるのです。 それでは、ボタンをいろいろクリックしてみてください。 ソース 汎用性を高めるため、若干変更してあります。
|