この記事の例では、JS を使用して QQ のような効果を持つ 3 レベルの垂直メニューの実装について説明します。皆さんの参考に共有してください。詳細は以下の通りです。
QQを模した3段メニューで、縦に2段のものが多く、3段のものはあまりありませんが、このメニューの3段目は美化されていません。そして自分でそれを美しくする必要があります。
実行中のエフェクトのスクリーンショットは次のとおりです:
オンライン デモのアドレスは次のとおりです:
http://demo.jb51.net/js/2015/js-f-qq-3l-v-menu-style-codes/
具体的なコードは次のとおりです:
<html> <head> <title>仿QQ的菜单,三级竖向</title> <script language="javascript"> function Switchmenu(obj){ if(document.getElementById){ var el = document.getElementById("menu_"+obj); var ar = document.getElementById("menu").getElementsByTagName("ul"); if(el.style.display != "block"){ for (var i=0; i<ar.length; i++){ if (ar[i].className=="submenu") ar[i].style.display = "none"; document.getElementById("menu"+(i+1)).className="menutbg_1 cursor" } el.style.display = "block"; document.getElementById("menu"+obj).className="menutbg_2 cursor" }else{ el.style.display = "none"; document.getElementById("menu"+obj).className="menutbg_1 cursor" } } } </script> <script language="javascript" id="clientEventHandlersJS"> <!-- var number=6; function LMYC() { var lbmc; for (i=1;i<=number;i++) { lbmc = eval('LM' + i); lbmc.style.display = 'none'; } } function ShowFLT(i) { lbmc = eval('LM' + i); //treePic = eval('treePic' + i) if (lbmc.style.display == 'none') { LMYC(); //treePic.src = 'images/nofile.gif'; lbmc.style.display = ''; } else { //treePic.src = 'images/file.gif'; lbmc.style.display = 'none'; } } //--> </script> <style type="text/css"> <!-- body{font-size:12px; margin:0; padding:0;} ul{list-style-type:none; margin:0; padding:0;} li{margin:0; padding:0;} #menu{background:#fff; width:182px; height:auto;margin:0 auto; border:1px solid #73C2FF;} .cursor{cursor:pointer;} .submenu{display: none;} .menutbg_1{background:url(images/m1.gif) no-repeat left; width:182px; height:25px; line-height:25px; color:#4B6486; font-size:14px; font-weight:700;text-align:left; text-indent:19px;} .menutbg_2{background:url(images/m1.gif) no-repeat left; width:182px; height:25px; line-height:25px; color:#4B6486; font-size:14px; font-weight:700; text-align:left;text-indent:19px;} .mbox{background:#73C2FF;height:auto;} .mt1{font-size:14px;height:22px;line-height:22px;background:#E5F5FF;text-indent:10px;border-top: 1px solid #fff;border-bottom: 1px solid #A9DAFF; font-weight:normal;cursor:pointer;} .TxtList{height:200px; overflow-y:scroll; background:#fff;} .mt3{height:22px; line-height:22px; text-indent:33px; color:#333; font-size:12px; no-repeat 20px 5px;} </style> --> </style> </head> <body> <div id="menu"> <div id="menu1" class="menutbg_1 cursor" onclick="Switchmenu('1')">一级菜单A</div> <ul id="menu_1" class="submenu"> <table cellspacing="0" cellpadding="0" width="100%" border="0" class="mbox"> <tr> <td class="mt1"><a onclick="javascript:ShowFLT(1)" href="javascript:void(null)" style="text-decoration:none; color:#333;"> 文管产品</a> </td> </tr> <tr id="LM1" style="DISPLAY: none"> <td><div class="TxtList"> <div class="mt3"><a href="#">123213</a></div> <div class="mt3"><a href="#">123213</a></div> <div class="mt3"><a href="#">123213</a></div> <div class="mt3"><a href="3">123213</a></div> </div></td> </tr> <tr> <td class="mt1"><a onclick="javascript:ShowFLT(2)" href="javascript:void(null)" style="text-decoration:none; color:#333;"> 桌面文具</a> </td> </tr> <tr id="LM2" style="DISPLAY: none"> <td><div class="TxtList"> <div class="mt3"><a href="#">123213</a></div> <div class="mt3"><a href="#">123213</a></div> <div class="mt3"><a href="3">123213</a></div> </div></td> </tr> </table> </ul> <div id="menu2" class="menutbg_1 cursor" onclick="Switchmenu('2')">一级菜单B</div> <ul id="menu_2" class="submenu"> <table cellspacing="0" cellpadding="0" width="100%" border="0" class="mbox"> <tr> <td class="mt1"><a onclick="javascript:ShowFLT(3)" href="javascript:void(null)" style="text-decoration:none; color:#333;"> 文管产品</a> </td> </tr> <tr id="LM3" style="DISPLAY: none"> <td><div class="TxtList"> <div class="mt3"><a href="#">123213</a></div> <div class="mt3"><a href="3">123213</a></div> <div class="mt3"><a href="3">123213</a></div> <div class="mt3"><a href="#">123213</a></div> </div></td> </tr> <tr> <td class="mt1"><a onclick="javascript:ShowFLT(4)" href="javascript:void(null)" style="text-decoration:none; color:#333;"> 桌面文具</a> </td> </tr> <tr id="LM4" style="DISPLAY: none"> <td><div class="TxtList"> <div class="mt3"><a href="#">123213</a></div> <div class="mt3"><a href="#">123213</a></div> <div class="mt3"><a href="#">123213</a></div> <div class="mt3"><a href="3">123213</a></div> </div></td> </tr> </table> </ul> <div id="menu3" class="menutbg_1 cursor" onclick="Switchmenu('3')">一级菜单C</div> <ul id="menu_3" class="submenu"> <table cellspacing="0" cellpadding="0" width="100%" border="0" class="mbox"> <tr> <td class="mt1"><a onclick="javascript:ShowFLT(5)" href="javascript:void(null)" style="text-decoration:none; color:#333;"> 文管产品</a> </td> </tr> <tr id="LM5" style="DISPLAY: none"> <td><div class="TxtList"> <div class="mt3"><a href="#">123213</a></div> <div class="mt3"><a href="#">123213</a></div> <div class="mt3"><a href="#">123213</a></div> <div class="mt3"><a href="3">123213</a></div> </div></td> </tr> <tr> <td class="mt1"><a onclick="javascript:ShowFLT(6)" href="javascript:void(null)" style="text-decoration:none; color:#333;"> 桌面文具</a> </td> </tr> <tr id="LM6" style="DISPLAY: none"> <td><div class="TxtList"> <div class="mt3"><a href="#">123213</a></div> <div class="mt3"><a href="#">123213</a></div> <div class="mt3"><a href="#">123213</a></div> </div></td> </tr> </table> </ul> </div> </body> </html>
この記事が皆さんの JavaScript プログラミングに役立つことを願っています。

さまざまなJavaScriptエンジンは、各エンジンの実装原則と最適化戦略が異なるため、JavaScriptコードを解析および実行するときに異なる効果をもたらします。 1。語彙分析:ソースコードを語彙ユニットに変換します。 2。文法分析:抽象的な構文ツリーを生成します。 3。最適化とコンパイル:JITコンパイラを介してマシンコードを生成します。 4。実行:マシンコードを実行します。 V8エンジンはインスタントコンピレーションと非表示クラスを通じて最適化され、Spidermonkeyはタイプ推論システムを使用して、同じコードで異なるパフォーマンスパフォーマンスをもたらします。

現実世界におけるJavaScriptのアプリケーションには、サーバー側のプログラミング、モバイルアプリケーション開発、モノのインターネット制御が含まれます。 2。モバイルアプリケーションの開発は、ReactNativeを通じて実行され、クロスプラットフォームの展開をサポートします。 3.ハードウェアの相互作用に適したJohnny-Fiveライブラリを介したIoTデバイス制御に使用されます。

私はあなたの日常的な技術ツールを使用して機能的なマルチテナントSaaSアプリケーション(EDTECHアプリ)を作成しましたが、あなたは同じことをすることができます。 まず、マルチテナントSaaSアプリケーションとは何ですか? マルチテナントSaaSアプリケーションを使用すると、Singの複数の顧客にサービスを提供できます

この記事では、許可によって保護されたバックエンドとのフロントエンド統合を示し、next.jsを使用して機能的なedtech SaaSアプリケーションを構築します。 FrontEndはユーザーのアクセス許可を取得してUIの可視性を制御し、APIリクエストがロールベースに付着することを保証します

JavaScriptは、現代のWeb開発のコア言語であり、その多様性と柔軟性に広く使用されています。 1)フロントエンド開発:DOM操作と最新のフレームワーク(React、Vue.JS、Angularなど)を通じて、動的なWebページとシングルページアプリケーションを構築します。 2)サーバー側の開発:node.jsは、非ブロッキングI/Oモデルを使用して、高い並行性とリアルタイムアプリケーションを処理します。 3)モバイルおよびデスクトップアプリケーション開発:クロスプラットフォーム開発は、反応および電子を通じて実現され、開発効率を向上させます。

JavaScriptの最新トレンドには、TypeScriptの台頭、最新のフレームワークとライブラリの人気、WebAssemblyの適用が含まれます。将来の見通しは、より強力なタイプシステム、サーバー側のJavaScriptの開発、人工知能と機械学習の拡大、およびIoTおよびEDGEコンピューティングの可能性をカバーしています。

JavaScriptは現代のWeb開発の基礎であり、その主な機能には、イベント駆動型のプログラミング、動的コンテンツ生成、非同期プログラミングが含まれます。 1)イベント駆動型プログラミングにより、Webページはユーザー操作に応じて動的に変更できます。 2)動的コンテンツ生成により、条件に応じてページコンテンツを調整できます。 3)非同期プログラミングにより、ユーザーインターフェイスがブロックされないようにします。 JavaScriptは、Webインタラクション、シングルページアプリケーション、サーバー側の開発で広く使用されており、ユーザーエクスペリエンスとクロスプラットフォーム開発の柔軟性を大幅に改善しています。

Pythonはデータサイエンスや機械学習により適していますが、JavaScriptはフロントエンドとフルスタックの開発により適しています。 1. Pythonは、簡潔な構文とリッチライブラリエコシステムで知られており、データ分析とWeb開発に適しています。 2。JavaScriptは、フロントエンド開発の中核です。 node.jsはサーバー側のプログラミングをサポートしており、フルスタック開発に適しています。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

WebStorm Mac版
便利なJavaScript開発ツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。
