この記事の例では、Web スライド ドア メニュー効果の自動切り替えを実現するための JS CSS コードを説明します。皆さんの参考に共有してください。詳細は以下の通りです。
これは、自動切り替え機能をサポートする Web スライド ドア メニューです。JS と CSS を組み合わせた技術的な成果です。デイリー ニュース ミニにあります。 QQ ログイン後に表示されるウィンドウ 同様の効果がありますが、コードの記述方法は各作者によってまったく異なるため、もう 1 つの参考になります。
実行中のエフェクトのスクリーンショットは次のとおりです:
オンライン デモのアドレスは次のとおりです:
http://demo.jb51.net/js/2015/js-css-auto-cha-tab-menu-style-codes/
具体的なコードは次のとおりです:
<html> <head> <title>自动切换的网页滑动门菜单</title> <meta http-equiv="content-Type" content="text/html;charset=gb2312"> <style type="text/css"> <!-- html, body, ul, ol, li, p, h1, h2, h3, h4, h5, h6, form, fieldset, table, td, img {margin:0; padding:0; border:0;} td,p,div,li,select,input,textarea {font-size:12px;} ul {list-style-type:none; text-align:left;} select,input {vertical-align:middle;} body { color:#333; repeat-x;} #wrap { width:750px; margin:0 auto; clear:both; background:#fff;} .clearit { clear:both;} a{ color:#039; text-decoration:underline;} a:hover{ color:#F00; text-decoration:underline;} .linkN a{ color:#039; text-decoration:none;} .linkN a:hover{ color:#F00; text-decoration:underline;} .linkfff a{ color:#fff; text-decoration:none;} .linkfff a:hover{ color:#F00; text-decoration:underline;} .linkAD5A00 a { color:#AD5A00; text-decoration:none;} .linkAD5A00 a:hover { color:#f00; text-decoration:underline;} .linkC00 a { color:#C00; text-decoration:none;} .linkC00 a:hover { color:#C00; text-decoration:underline;} .link666 a { color:#666; text-decoration:none;} .link666 a:hover { color:#F00; text-decoration:underline;} h1 { font-size:16px; font-family:simhei; font-weight:500; text-align:center; padding:5px 0 3px 0;} h2 { font-size:14px; color:#fff; display:block; clear:both; text-align:left;} h3 { font-size:14px; font-weight:200; no-repeat 2px 7px; border-bottom:2px solid #BBE5F1; padding:5px 0 2px 17px; margin:5px 0;} span{ font-size:12px; font-weight:200; float:right; margin-right:5px;} ul { margin:5px 0 0 5px; color:#039;} li { padding:3px 0 3px 10px; no-repeat 3px 7px;} .noStyle li { padding:3px 0; background:none;} ul.two { margin:8px 0 0 12px;} .two li { padding:3px 0 3px 10px; no-repeat 3px 7px; float:left; width:110px;} .f14 li { font-size:14px; padding:1px 0 4px 10px;} .blkT { margin-top:6px;} .list14 { font-size:14px; line-height:23px;} /*CSS for 共用模块 end*/ .leW { width:254px;} .miW { padding:0 5px;} .riW { width:140px; background:#F3F3F3;} .riW li { padding:3px 0 3px 6px; no-repeat 0 7px;} .cont_le { background:#EBF8FB; border:1px solid #A3D8E0; border-top:none; border-bottom:none; padding:8px 0 8px 0;} .cont_all { background:#EBF8FB; border:1px solid #A3D8E0; border-top:none; padding:8px 0 8px 0;} .text { padding:4px 0 8px 0; text-align:center;} .pic { margin:8px 0; text-align:center;} .textL { text-align:left; padding:3 0 8px 0;} .blankT { margin-top:8px;} .picfff { text-align:center;} .picfff img { border:1px solid #fff; margin:5px 0;} .partA .jdt { background:#D11C00; padding:5px 0 5px 0; text-align:left;} .partA .cont_le p { float:left; margin:0 0 0 6px; text-align:center;} .partA .miW .top { height:17px; no-repeat; text-align:right; padding:5px 18px 0 0; margin-top:8px;} .partA .miW .top a { color:#C00; text-decoration:underline;} .partA .miW .top a:hover { color:#C00; text-decoration:none;} .partA .miW .cont { background:#FFFBEA; border:1px solid #FC6; border-top:none; padding-bottom:5px; border-bottom:none;} .partA .miW .cont p{ line-height:19px; margin-left:15px;} .partA .miW .cont .line { repeat-x; height:1px; font-size:0; margin:5px 15px;} .partA .miW .top1 { height:15px; no-repeat; text-align:left; padding:4px 0 0 23px; margin-left:0; _margin-left:2px;} .partA .miW .top1 h2 { color:#000;} .partA .miW .cont1 { border:1px solid #FC6; border-top:none; padding:5px 0 8px 0;} .partA .shiP { no-repeat bottom; width:120px; height:109px; border:1px solid #A0B2D8; margin:10px 0 0 9px;} /*标签*/ .menu1Off,.menu1On,.menu2Off,.menu2On,.menu3Off,.menu3On,.menu4Off,.menu4On { height:20px; color:#039; text-align:center; background:#B2DBE1; cursor:pointer; padding-top:3px;} .menu1On,.menu2On,.menu3On,.menu4On{ color:#C00; background:#fff; border-left:1px solid #34AEBE; border-right:1px solid #34AEBE;} /*标签a*/ .menua1Off,.menua1On,.menua2Off,.menua2On{ height:16px; width:52px; color:#666; text-align:center; repeat-x; cursor:pointer; padding-top:3px;} .menua1On,.menua2On{ color:#C00; font-weight:bold; repeat-x; } .menuCont { background:#F3F3F3;} .menuCont th { text-align:center; font-weight:200; padding:5px 0 3px 0;} .menuCont .noBg td { background:#fff; padding:5px 0 3px 5px; border-right:1px solid #F3F3F3; } .menuCont .noBg1 td { background:#F3F3F3; padding:5px 0 3px 5px; border-right:1px solid #FFF;} .partA .tuKu { no-repeat; margin-left:5px; height:150px; text-align:center;} .partA .tuKu p { float:left; margin:0 10px; _margin:0 8px;} .partA .tuKu img { padding:5px; border:1px solid #D0D1D2; background:#fff; margin:8px 0;} .partA .shiPyy { border:1px solid #FC6; margin-top:5px;} .partA .shiPyy h2 { color:#C00; background:#FFEAAF; padding:5px 0 3px 5px;} .partA .shiPyy img { vertical-align:middle;} .adv { margin:8px 0;} .leftW { width:605px; padding-right:5px; text-align:center;} .leftW .leW { width:140px;} .leftW .leW img { margin-bottom:8px;} .leftW .leW p { text-align:left; line-height:19px; padding:0 5px; margin-top:5px;} .leftW .leW .picText { text-align:left; line-height:19px; padding-right:5px; margin-bottom:8px;} .leftW .leW .picText img { float:left; margin:0 7px;} .midW { padding:5px 0 0 5px; text-align:left;} .midW table { margin-bottom:8px;} .midW td { line-height:19px; padding:3px 0px;} .midW span { float:none; color:#929292;} .midW .more span { float:right;} .midW .cC00 { color:#C00; font-weight:bold;} .rightW { width:140px; background:#F3F3F3;} .rightW p { float:left; margin:5px 0 5px 8px; _margin:5px 0 5px 5px;} .rightW .cont { text-align:left; line-height:19px; text-align:left; padding:8px 0 0 8px;} .rightW .date { margin-top:8px;} .rightW .date td { color:#666; padding:1px 0;} .rightW .date td { background:#fff; padding:1px 0; color:#039;} .rightW .date .cF60 { color:#F60; font-weight:bold;} .rightW .fenX { margin-top:8px; margin-left:3px;} .rightW .fenX td { padding:5px 0 2px 5px; background:#fff; text-align:left;} .rightW .blk000 img { border:1px solid #000;} --> </style> </head> <!--把<body>改为--> <body onLoad="change_Menu(1)"> <table width="254" cellspacing="0" class="partA"> <tr> <td class="leW" valign="top" width="254"> <!-- d --> <!-- d --> <!-- 舌签排行 begin --> <script language="JavaScript" type="text/javascript"> //<![CDATA[ var cur_index=1 var num=4 //该值记录标签的个数 var settime function GetObj(objName){ if(document.getElementById){ return eval('document.getElementById("' + objName + '")'); }else if(document.layers){ return eval("document.layers['" + objName +"']"); }else{ return eval('document.all.' + objName); } } function change_Menu(index){ for(var i=1;i<=num;i++){/* 最多支持8个标签 */ if(GetObj("con"+i)&&GetObj("m"+i)){ GetObj("con"+i).style.display = 'none'; GetObj("m"+i).className = "menu"+i+"Off"; } } if(GetObj("con"+index)&&GetObj("m"+index)){ GetObj("con"+index).style.display = 'block'; GetObj("m"+index).className = "menu"+index+"On"; } cur_index=index if(cur_index<num){ cur_index++ } else{ cur_index=1 } settime=setTimeout("change_Menu(cur_index)",2000)//设置延迟时间 } function Menu(c_index){ clearTimeout(settime) change_Menu(c_index) } //]]> </script> <table cellspacing="0" style="background:#3FA6B5; width:100%;" class="clearit"> <tr> <td height="3"></td> </tr> <tr> <td align="center">自动切换</td> <td id="m1" onClick="Menu(1)" class="menu1On" title="栏目">栏目1</td> <td width="1"></td> <td id="m2" onClick="Menu(2)" class="menu2Off" title="栏目">栏目2</td> <td width="1"></td> <td id="m3" onClick="Menu(3)" class="menu3Off" title="栏目">栏目3</td> <td width="1"></td> <td id="m4" onClick="Menu(4)" class="menu4Off" title="栏目">栏目4</td> <td width="10"></td> </tr> </table> <div id="con1" class="cont_le picfff"> <p style="margin-left:1px;"><br><a href="#">111</a></p> <div class="clearit"></div> </div> <div id="con2" style="display:none;" class="cont_le picfff"> <p style="margin-left:1px;"><br><a href="#">222</a></p> <div class="clearit"></div> </div> <div id="con3" style="display:none;" class="cont_le picfff"> <p style="margin-left:1px;"><br><a href="#">333</a></p> <div class="clearit"></div> </div> <div id="con4" style="display:none;" class="cont_le picfff"> <p style="margin-left:1px;"><br><a href="#">444</a></p> <div class="clearit"></div> </div> </body> </html>
この記事が皆さんの JavaScript プログラミングに役立つことを願っています。

現実世界でのJavaScriptのアプリケーションには、フロントエンドとバックエンドの開発が含まれます。 1)DOM操作とイベント処理を含むTODOリストアプリケーションを構築して、フロントエンドアプリケーションを表示します。 2)node.jsを介してRestfulapiを構築し、バックエンドアプリケーションをデモンストレーションします。

Web開発におけるJavaScriptの主な用途には、クライアントの相互作用、フォーム検証、非同期通信が含まれます。 1)DOM操作による動的なコンテンツの更新とユーザーインタラクション。 2)ユーザーエクスペリエンスを改善するためにデータを提出する前に、クライアントの検証が実行されます。 3)サーバーとのリフレッシュレス通信は、AJAXテクノロジーを通じて達成されます。

JavaScriptエンジンが内部的にどのように機能するかを理解することは、開発者にとってより効率的なコードの作成とパフォーマンスのボトルネックと最適化戦略の理解に役立つためです。 1)エンジンのワークフローには、3つの段階が含まれます。解析、コンパイル、実行。 2)実行プロセス中、エンジンはインラインキャッシュや非表示クラスなどの動的最適化を実行します。 3)ベストプラクティスには、グローバル変数の避け、ループの最適化、constとletsの使用、閉鎖の過度の使用の回避が含まれます。

Pythonは、スムーズな学習曲線と簡潔な構文を備えた初心者により適しています。 JavaScriptは、急な学習曲線と柔軟な構文を備えたフロントエンド開発に適しています。 1。Python構文は直感的で、データサイエンスやバックエンド開発に適しています。 2。JavaScriptは柔軟で、フロントエンドおよびサーバー側のプログラミングで広く使用されています。

PythonとJavaScriptには、コミュニティ、ライブラリ、リソースの観点から、独自の利点と短所があります。 1)Pythonコミュニティはフレンドリーで初心者に適していますが、フロントエンドの開発リソースはJavaScriptほど豊富ではありません。 2)Pythonはデータサイエンスおよび機械学習ライブラリで強力ですが、JavaScriptはフロントエンド開発ライブラリとフレームワークで優れています。 3)どちらも豊富な学習リソースを持っていますが、Pythonは公式文書から始めるのに適していますが、JavaScriptはMDNWebDocsにより優れています。選択は、プロジェクトのニーズと個人的な関心に基づいている必要があります。

C/CからJavaScriptへのシフトには、動的なタイピング、ゴミ収集、非同期プログラミングへの適応が必要です。 1)C/Cは、手動メモリ管理を必要とする静的に型付けられた言語であり、JavaScriptは動的に型付けされ、ごみ収集が自動的に処理されます。 2)C/Cはマシンコードにコンパイルする必要がありますが、JavaScriptは解釈言語です。 3)JavaScriptは、閉鎖、プロトタイプチェーン、約束などの概念を導入します。これにより、柔軟性と非同期プログラミング機能が向上します。

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

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


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

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

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。
