3 階層ナビゲーション メニューを実現するための js+css

3 階層ナビゲーション メニューを実現するための js+css

この記事の例では、3レベルのナビゲーションメニューを実装するためのjs + cssの具体的なコードを参考までに共有しています。具体的な内容は次のとおりです。

CSS を使用してナビゲーション メニューのホバー イベントを実装するのは比較的簡単です。透明度を変更するだけです。メニューにグラデーション効果を持たせたい場合、残念ながら transition は display をサポートしていないため、不透明度を使用して同じ効果を実現します。

CSS で実装された完全なコードは次のとおりです。

<!DOCTYPE html>
<html>
 <ヘッド>
  <メタ文字セット="utf-8" />
  <title>第 3 レベルのナビゲーション メニュー</title>
 </head>
 <スタイル>
  *{
 マージン: 0;
 パディング: 0;
}
体{
 フォントサイズ: 16px;
 背景色:#EDEDED;
 フォントスタイル: 継承;
 色:#757576;
}
。主要{
 幅: 1050ピクセル;
 マージン: 0 自動;
}
.fl{
 フロート: 左;
}
.fr{
 フロート: 右;
}
{
 テキスト装飾: なし;
 アウトライン: なし;
 色:#757576;
}
ul、ol{
 リストスタイル: なし;
}
。クリア{ 
 クリア: 両方;
}
.clearfix{
 *ズーム:1;
}
li{
 フロート: 左;
 表示: インラインブロック;
 幅: 120ピクセル;
 高さ: 40px;
 テキスト配置: 中央;
 行の高さ: 40px;
}
li a:hover{
 色: 赤;
}
#初め {
 不透明度: 0;
}
#firstli{
 フロート: なし;
 位置: 相対的;
}
 li a:hover{
 色: 赤;
 遷移: すべて 0.5 秒;
}
:ホバー{
 遷移: すべて 2; 
}
#2番 {
 不透明度: 0;
 マージン: -40px 0 0 80px;
 パディング: 0px;
 位置: 絶対;
}
#nav_one:ホバー #first{
 不透明度:1;
 遷移: すべて 2;
}
#nav_two:ホバー #second{
 不透明度:1;
 遷移: すべて 2;
}
 </スタイル>
 
 <本文>
  <div class="nav main">
   <ul id="nav">
    <li id="nav_one"><a href="#" >レベル 1</a>
     <ul id="first">
      <li id="nav_two" class="nav_two">
       <a href="#" >第 2 レベル</a>
       <ul id="2番目">
        <li><a href="#" >レベル 3</a></li>
        <li><a href="#" >レベル 3</a></li>
        <li><a href="#" >レベル 3</a></li>
       </ul>
      </li>
      <li class="nav_two"><a href="#" >第 2 レベル</a></li>
      <li class="nav_two"><a href="#" >第 2 レベル</a></li>
     </ul>
    </li> 
    <li><a href="#" >レベル 1</a></li>
    <li><a href="#" >レベル 1</a></li>
    <li><a href="#" >レベル 1</a></li>
    <li><a href="#" >レベル 1</a></li>
   </ul>
 </div>  
 </本文>
</html>

js の実装は比較的面倒ですが、CSS でホバー効果を置き換えることも可能です。

<!--<スクリプト>
 window.onload = 関数(){
  var one = document.getElementById("nav_one");
  var frist = document.getElementById("frist");
  var second = document.getElementById("second");
   one.onmouseover = 関数(){
    first.style.opacity = "1";
    first.style.transition = "すべて 2";
    first.style.WebkitTransition = "すべて 2";
   }
   one.onmouseout = 関数(){
    first.style.opacity = "0";
    first.style.transition = "すべて 0.5 秒";
    first.style.WebkitTransition = "すべて 0.5 秒";
   }
  var two = document.getElementById("nav_two");
   2.onmouseover = 関数(){
    second.style.opacity = "1";
    second.style.transition = "すべて 2";
    second.style.WebkitTransition = "すべて 2";
   }
   2.onmouseout = 関数(){
    second.style.opacity = "0";
    second.style.transition = "すべて 0.5 秒";
    second.style.WebkitTransition = "すべて 0.5 秒";
   }
  }
</script>-->

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • js 左 3 レベル メニュー ナビゲーション サンプル コード
  • JS でナビゲーション メニューにセカンダリ ドロップダウン メニューを実装する 3 つの方法
  • JSは、現在のメニューを選択した後にナビゲーションバーを強調表示する効果を実現します。
  • js制御のナビゲーションメニューのサンプルコード
  • 水平スクロールメニューナビゲーションを実現するjs
  • ネイティブ js で作成されたアコーディオン効果ナビゲーション メニュー
  • Flashに匹敵するJSナビゲーションメニュー
  • ナビゲーションドロップダウンメニューの効果を実現するネイティブJS
  • 複数オプション切り替えナビゲーションメニューを実現する js メソッド
  • jsで実装された比較的古典的で実用的なトリガー型ナビゲーションメニュー

<<:  MySQL マルチテーブル結合入門チュートリアル

>>:  Linux環境変数ファイルの簡単な紹介

推薦する

MySQL 8.0.15 圧縮版インストール グラフィック チュートリアル

この記事では、参考までにMySQL 8.0.15圧縮版のインストール方法を紹介します。具体的な内容は...

MySQL で特定の親行のすべての子行を見つけるソリューション

序文注: テストデータベースのバージョンはMySQL 8.0ですテーブルを作成し、ユーザー scot...

Linux ベースの MySQL マスター スレーブ構成の全プロセスを記録する

mysql マスタースレーブ構成1. 準備ホスト: 192.168.244.128スレーブ: 192...

Dockerオーバーレイはホスト間のコンテナ相互通信を実現します

目次1. Dockerの設定2. レジストリとネットワークを作成する3. コンテナを起動する環境説明...

よく使われるnginxの書き換えルールの詳細な説明

この記事では、Web ページのリンクを美しくするためによく使用される書き換えルールをいくつか紹介しま...

jQuery+h5 で 9 マス抽選特殊効果を実現 (フロントエンドとバックエンドのコード)

序文:フロントエンド: jq+h5 で 9 グリッドのダイナミック効果を実現バックエンド: thin...

Winows Server 2019 アクティベーション コードとボリューム ライセンス エディション KMS インストール キー GVLK

最近、社内文書の整理とファイルサーバーの構成を予定しています。以前はサーバー2003を使い慣れていま...

show processlist コマンドによる MySQL パフォーマンス検査の説明

show processlist コマンドは非常に便利です。MySQL の実行が 50% 以上になる...

Nginxの仕組みの詳細な説明

Nginxの仕組みNginx はコアとモジュールで構成されています。 Nginx 自体は実際にはほと...

VMware Tools を最初からインストールするための詳細な手順 (グラフィック チュートリアル)

VMware Tools は VMware 仮想マシンに付属するツールで、VirtualBox (...

HTML テーブル マークアップ チュートリアル (42): テーブル ヘッダーの水平方向の配置属性 ALIGN

水平方向では、テーブル ヘッダーの配置を左、中央、右に設定できます。基本的な構文<TH ALI...

Apache クロスドメイン リソース アクセス エラーの解決策

多くの場合、大規模および中規模の Web サイトでは、静的リソース (フォント ファイル、画像など)...

ファイル共有サーバーを構築するための samba + OPENldap の詳細な説明

ここでは、samba (ファイル共有サービス) v4.9.1 + OPENldap (バックエンド ...

MySQLにデータを素早くインポートする方法

序文:日々の勉強や仕事の中で、データをエクスポートする必要に迫られることがよくあります。たとえば、デ...