目次へ戻ります
イヌでもわかるJavaScript講座


画面右下にロゴイメージを表示する(DHTML)

DHTMLを使って、画面右下にバナーロゴを固定表示してみます。
難易度:★★★★☆☆☆☆☆☆ DHTML
【実行例】

画面右下にいるやつです (^^;
【リスト】
<body onload="myCheck()">

<SCRIPT language="JavaScript"><!--
myOP = window.opera;            // OP
myN6 = document.getElementById; // N6
myIE = document.all;            // IE
myN4 = document.layers;         // N4
if      (myOP) myBR="O6"; // ブラウザは OP6以上
else if (myIE) myBR="I4"; // ブラウザは IE4以上
else if (myN6) myBR="N6"; // ブラウザは NS6以上
else if (myN4) myBR="N4"; // ブラウザは NN4
else           myBR="";   // ブラウザは 分からん

myIconX = 88; // 画像のXサイズ
myIconY = 31; // 画像のYサイズ

function myCheck(){
  if ( myBR != "" ){     // 対応可能ブラウザか?
    if (myBR == "O6"){
      myObj = document.getElementById("myBanner").style;
    }else if (myBR == "N6"){
      myObj = document.getElementById("myBanner").style;
    }else if(myBR == "I4"){
      myObj = document.all["myBanner"].style;
    }else if(myBR == "N4"){
      myObj = document["myBanner"];
    }
    myMain();            // 対応ブラウザなので実行する。
  }
}

function myMain(){
  if (myBR=="I4"){
    myObj.left = document.body.scrollLeft + document.body.clientWidth - myIconX;
    myObj.top  = document.body.scrollTop  + document.body.clientHeight - myIconY;
  }else if (myBR=="N6" || myBR=="O6" || myBR=="N4"){
    myObj.left = pageXOffset + innerWidth - myIconX;
    myObj.top  = pageYOffset + innerHeight - myIconY;
  }
  setTimeout("myMain()",300); // ものすごいスピードでバナーを右下に再描画させる
}
// --></SCRIPT>

<!-- 画像タグ -->
<div ID="myBanner" STYLE="position:absolute">
<img src="../image/link1.gif" width="88" height="31">
</div>
サンプルだけのHTMLは こちらへ
【説明】

Q:「某無料HPサービスのホームページでは、画面をスクロールさせても、右下にロゴが固定表示されていますが、あれも JavaScript ですか?」
A:「たぶん。(^^; おそらく、DHTMLでしょう。短いリストでできそうなので、久しぶりにDHTMLを使ってみましょうか。。」

基本的なプログラムの流れは、Step.44〜47と同じです。その枠に埋め込んでみます。


DHTML(DOM) なので、IE4、NN4、OP6以上でないと動きません。

<BODY>タグの onload にてページが全てロードされた後にmyCheck() にて対応ブラウザのチェックをしました。対応していれば、myMain()を実行します。未対応であれば myMain() は実行されず、バナーも挿入した位置に表示されたままになります。(ブラウザチェックは、Step.82を参照)

myMain( ) の中身はというと、<DIV>タグ内で表示したリンクバナーを右下の座標に変更(移動) させます。それを、永遠にグルグルやっていれば、あたかも右下に固定されたように見えるのでは。。無謀ですか。。 (^^;

右下の座標を求める手段として、スクロール位置 + ウィンドウサイズ − 画像サイズ としました。(座標取得は、Step.93を参照)
サンプルのリンクバナーは、88 x 31 のサイズです。

えー、説明は以上です。。(^^; なぜ、これだけか! 最初はとても親切に書いていたんだけど、FrontPageExpressが保存する前に爆発して消えてなくなったのさ。(ToT)

【ご注意を】
FrontPageExpressは、TABLEタグ内に、さらにTABLEタグをいれて、その中で、IMEで漢字変換すると爆発ちゅど〜んとなります。


また、今回のサンプルのような、DIVタグを作ると、FrontPageExpress は、親切にPタグに置き換えてくれます。HPエディタを買うお金がない人は、テキストエディタ等で書くしかないっす。

<div ID="myBanner" STYLE="position:absolute">
<img src="../image/link1.gif" width="88" height="31">
</div>

↓ FrontPageExpressで保存すると・・・

<p>
<img src="../image/link1.gif" width="88" height="31">
</p>

ちゅど〜ん Σ( ̄▽ ̄;)

サンプル画像
88 x 31


参考ステップ
Step.82 右クリックを禁止してみましょう
Step.93 画像をビリヤード風に動かして見ましょう

目次へ戻ります