SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

特集記事

JavaScriptとCSSによるブロック崩しの作成

スクリプトを利用してHTMLオブジェクトのスタイル属性を動的に変更する


オブジェクトを重ね合わせる

 絶対位置指定によるオブジェクトの配置は、HTML既定のレイアウトとは異なり、イメージや文字が重なり合う可能性があります。重なり合ったオブジェクト同士は、z-indexと呼ばれるスタイル属性の順番で表示されます。z-indexスタイル属性は、styleオブジェクトのzIndexプロパティで設定することができます。

object.style.zIndex [ = vOrder ]

 デフォルトでは、HTMLソース上で出現したオブジェクトの順番で重ね合わせる「auto」が設定されていますが、この順番は数値で指定することができます。数値で指定した場合、値が小さいほど背面に、大きいほど前面に表示されます。

サンプルプログラム4
<html>
    <head>
    <meta http-equiv="Content-Type"
          content="text/html; charset=shift_jis">
    <title>サンプル 04</title>

    <script language="javascript">
function loaded() {
    image1.style.position = "absolute";
    image2.style.position = "absolute";

    image1.style.left = 10;
    image1.style.top = 100;

    image2.style.left = 70;
    image2.style.top = 250;
}
function image1_moved() {
    if (event.ctrlKey) {
        image1.style.zIndex = 1;
        image2.style.zIndex = 0;
        image1.style.left = event.x - (image1.width / 2) + "px";
        image1.style.top = event.y - (image1.height / 2) + "px";
    }
}
function image2_moved() {
    if (event.ctrlKey) {
        image2.style.zIndex = 1;
        image1.style.zIndex = 0;
        image2.style.left = event.x - (image2.width / 2) + "px";
        image2.style.top = event.y - (image2.height / 2) + "px";
    }
}

    </script>

    </head>

    <body onLoad="loaded()">
    <h1>サンプルプログラム 4</h1>
    <img src="test00.jpg" id="image1" onMouseMove="image1_moved()">
    <img src="back.jpg" id="image2" onMouseMove="image2_moved()">

    </body>
</html>

 このドキュメントを表示すると、2つのイメージが重なって表示されていることが確認できます。マウスカーソルをイメージ上に移動させて、[Ctrl]キーを押しながらカーソルを動かしてください。[Ctrl]キーを押している間は、カーソル下のイメージがカーソルの動きに合わせて移動します。このとき、移動させる対象のイメージのzIndexプロパティ値を変更して前面に表示するように仕掛けています。この機能によって、移動させているアクティブなイメージを最前面に配置することができます。前面に表示させなければならないイメージが背景のイメージに隠れるようなことがある場合は、zIndexプロパティを設定してください。

次のページ
ブロック崩し

この記事は参考になりましたか?

特集記事連載記事一覧

もっと読む

この記事の著者

赤坂 玲音(アカサカ レオン)

平成13年度「全国高校生・専門学校生プログラミングコンテスト 高校生プログラミングの部」にて最優秀賞を受賞。2005 年度~ Microsoft Most Variable Professional Visual Developer - Visual C++。プログラミング入門サイト WisdomSoft の管理人。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/311 2006/05/08 10:32

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー