ブラウザが一番下まで行ったときに、あるイベントを無効にするには?

[上に] [前に] [次に]
徒歩 [E-Mail] [HomePage] 2000/01/25(火) 04:48:40
こんにちわ。
http://www5.airnet.ne.jp/martin/CrossBrowser/function11.html
を使おうと思うのですが、レイアウトの関係で、ブラウザが一番下になったときに、
上記のスクリプトをブラウザから非表示にさせたいのですが。

よろしくお願いいたします。

初級者 2000/01/25(火) 10:06:47
「ブラウザの一番下」ではないのですが・・・

function floatLayer(){

  if(document.all){
     if (document.body.scrollTop<300) {
       eval(layerName).style.visibility = "visible";
       eval(layerName).style.top = document.body.scrollTop + lTop;
     } else {
       eval(layerName).style.visibility = "hidden";
     }
  }

  if(document.layers){
     scrollTop = window.pageYOffset;
     if (scrollTop<300) {
        document.layers[layerName].visibility = "show";
        document.layers[layerName].top = scrollTop + lTop;
     } else {
        document.layers[layerName].visibility = "hide";
     }
  }
}

と変更してそれぞれの「scrollTop<300)」の値をブラウザの一番下にすればできると思います。

徒歩 [E-Mail] [HomePage] 2000/01/25(火) 17:12:25
こんにちわ。
ご回答ありがとうございます。
再び質問ですが、このスクリプトは、パソコン(ディスプレイ)やブラウザーによって違うということは、あるのでしょうか?

よろしくお願いいたします。

では。

初級者 2000/01/25(火) 17:33:15
IEとNNでは基本の文字の大きさが違うので動作が違ってくるでしょうね・・・
本当はブラウザの一番下(高さ)という項目があればいいのでしょうけど
(doucument.heightとかあれば・・・すいません。そこまでは知らないんです。)

徒歩 [E-Mail] [HomePage] 2000/01/25(火) 18:07:38
なるほど。
ありがとうございます。

それと、初歩的な質問ですみません(^^;
http://www5.airnet.ne.jp/martin/CrossBrowser/function11.html
のスクリプトは何処に挿入するのでしょうか?

よろしくお願いいたします。

初級者 2000/01/25(火) 18:35:36
HTML文書のどこにいれても動きますが
</head>の上の行にいれるのが普通です。(そうしたほうが見やすいですしね)

徒歩 [E-Mail] [HomePage] 2000/01/25(火) 18:52:05
でも、そうしたら、他のスクリプトとかも作動しちゃうかも(^^;
結構1つのページに何個かJavaScriptがあるので。
<SCRIPT SRC="***.js"></SCRIPT>とかで外部でやればうまくいきますかね。

では。

初級者 2000/01/25(火) 20:10:18
あっそうなんですか?
でも大丈夫だと思いますよ(多分)実際には動かしてもないとわからない部分もあるんですけどね。
開くときにHTMLに記述するスクリプトだったら問題ないと思います。
(function ・・・が最初になくてdoucument.writeを使用しているもの)

> <SCRIPT SRC="***.js"></SCRIPT>とかで外部でやればうまくいきますかね。
おそらくHTMLに取り込んでいるだけだと思うので同じだと思います。

徒歩 [E-Mail] [HomePage] 2000/01/25(火) 21:19:54
そうですか。わかりました。
「scrollTop<300)」の値とか、他にも色々と試してみます。

では。

徒歩 [E-Mail] [HomePage] 2000/01/26(水) 19:29:04
色々とやってみたのですが、<script src="***.js">の方が都合が良いので、http://www5.airnet.ne.jp/martin/CrossBrowser/function11.html
<script language="JavaScript">と</script>のみ記述を取り、初級者さんのスクリプトの***.jsファイルにしました。
ところが、エラーになってしまいます。
どうしたらよいのでしょうか?

よろしくお願いいたします。

初級者 2000/01/27(木) 08:38:27
う〜ん、どこでエラーが出ているかわかればいいのですが・・・
どんなメッセージか教えてもらえます?(ページを見せていただけると手っ取り早い)
ちなみにJavaScriptのエラーの場合IEではメッセージが出ますが
NNではURLを入力するところに「javascript:」と入力します。

徒歩 [E-Mail] [HomePage] 2000/01/27(木) 18:41:01
↑こんな感じでしょうか?
よろしくお願いいたします。
では。

Mugi [E-Mail] [HomePage] 2000/01/27(木) 20:18:20
<script>の中にDIV入れてちゃだめでしょ。
ところで、「ページの一番下」というのはブラウザによって変わってしまうので300などと決めてしまうのはよくないと思います。
IEなら、document.body.scrollHeight、
ねすけなら、body全体にlayerを敷いて、その高さを基準にするとか。
こんなかんじですかね。
http://hp.vector.co.jp/authors/VA013453/js/000127.htm

初級者 2000/01/28(金) 08:39:03
>ところで、「ページの一番下」というのはブラウザによって変わってしまうので300などと決めてしまうのはよくないと思います。
その通りですね。僕は単純にやり方がわからなかったので・・・すいません、勉強不足でした。

エラーはMugiさんのおっしゃる通り<div>〜</div>を<script>タグの外に置けばなおります。

javascript.jsですが、上にあるfloatlayer()の関数を削除してください。
関数を置き換えてるというを意味で言ったのですが説明不足でしたね。

あとテスト用のページでもスクロールさせるために何か記述したほうが良いと思います。
(<br>タグを大量に書くとか)

初級者 2000/01/28(金) 08:58:21
あ、Mugiさんのページをコピーしたほうが早いですね。
上の書きこみは忘れてください。(^_^;)

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