最下からスクロールアップをするには?

[上に] [前に] [次に]
Omi [E-Mail] 1998/04/16(木) 18:22:08
function scr(){
  if ( y > 0 ) { y-=2; scroll( 0, y); setTimeout('scr()', 10 ); }
}
y=99 ; scr();

を実行すると、99pxから0pxまでスクロールしますが、
例えば y=window.height;が有効であれば
bottom から top まで動くのですが。

とほほ 1998/04/17(金) 01:00:48
NN4.0だったら、最下行に<A NAME="END">〜</A>を指定しておき、
  location = "#END";
  y = window.YOffset;
なんていう手もありますね。IE4.0も似たような感じでできるかな。

とほほ 1998/04/17(金) 01:01:25
ごめんなさい。y = window.pageYOffset; でした。

ywai [E-Mail] 1998/04/17(金) 03:13:02
4.0のみなら
var NN4 = (navigator.appName=="Netscape");
var dh = (NN4)? document.height : document.body.scrollHeight;
var wh = (NN4)? innerHeight : document.body.clientHeight;
y=dh-wh;
scr();
とかも可能かと思います。
3.0の場合は全体を<TABLE>で囲んで、高さを固定するしかないかな。

Omi [E-Mail] 1998/04/17(金) 05:57:41
[[解決]]
とほほさん、ywai さん ありがとうございました。

私の ダウンロードした N.Communicator 4.04では
y = window.pageYoffset; は undefined になります。
document.height、
innerHeight、document.body.clientHeight、 は有効なので
NN4では、バッチリです。 でも、
iE の document.body.scrollHeight がおかしいので、
あきらめに近づいています。

ywai [E-Mail] 1998/04/17(金) 09:49:25
pageYOffset はOが小文字になっていませんか?
それから、IEはタイミングをすこしずらしてみてはどうでしょうか。
function init(){上記の式}
<BODY onLoad="setTimeout('init()',200)">

Omi 1998/04/19(日) 07:13:41
ywai さん ありがとうございます。
iE 4 でも、バッチリ動くようになりました。\(^o^)/

以下でテストしました。
iE 4 の document.body.srollHeight って、表示途中でも何かの値を出すんですね。
NN4の window.pageYOffset は、リロードのタイミングでおかしな値を出します。
あー 疲れた。  ぜったい 使ってやるぞー。

<HTML>
<HEAD>
<TITLE>自動スクロール</TITLE>
<SCRIPT>
function init(){
wh = ( N)? innerHeight : document.body.clientHeight;
dh = ( N)? document.height : document.body.scrollHeight;
yp=1; y9=dh-wh;
a  = ( N)?1196 : 1306                                                //不要
P = ( N)? window.pageYOffset : '' ;                              //不要
alert("docHeight  innerHeight 送量 page\n"               //不要
+d1+"、"+dh+"    -  "+wh+"   = "+y9+"      "+P+"\n"+   //不要
"   "+a+"期待値" );                                                   //不要
scr();
}
function scr(){
if ( yp < y9 ) { yp+=1; scroll( 0, yp); T1=setTimeout('scr()', 1 ); }
// else{ alert("END"); location="#TOP"; }                        //不要
status = yp+" /"+y9;                                              //不要
}
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT>
N = ( navigator.appName.charAt(0) =="N");
d1 = ( N)? document.height : document.body.scrollHeight;  //不要
setTimeout( 'init()', 22 )
</SCRIPT>
<A name="TOP">■top</a><BR><BR><BR><BR><BR><BR><BR><BR>
<A href="#" onMouseOver="yp=y9">(^_^)</A><BR><BR><BR><BR><BR><BR><BR><BR>
<A href="#" onMouseOver="yp=y9">(^。^)</A><BR><BR><BR><BR><BR><BR><BR><BR>
<A href="#" onMouseOver="yp=y9">(^o^)</A><BR><BR><BR><BR><BR><BR><BR><BR>
<A href="#" onMouseOver="yp=y9">(^。^)ノ</A><BR><BR><BR><BR><BR><BR><BR><BR>
<A href="#" onMouseOver="yp=y9">(^o^)ノ</A><BR><BR><BR><BR><BR><BR><BR><BR>
<A href="#" onMouseOver="yp=y9">\(^o^)/</A><BR><BR><BR><BR><BR><BR><BR><BR>
<A href="#">(^。^)/~~</A><BR>
<A name="END">■ END ■</a></p>
</BODY>
</HTML>

[上に] [前に] [次に]