この記事の例では、リストボックスの左右の移動を実現するための JavaScript の詳細なコードを説明しており、具体的な内容は次のとおりです。
レンダリング:
特定のコード:
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>listbox左右移动</title> </head> <body> <div style="background-color:#CCC; width:450px; height:300px; margin:150px,0,0,450px; border:1px solid"> <table align="center" width="285" height="169" bgcolor="#99CCFF"> <tr> <td width="100"> <select name="first" id="first" size="10" multiple="multiple" style="background-color:#3FC;"> <option value="选项1">选项1</option> <option value="选项2">选项2</option> <option value="选项3">选项3</option> <option value="选项4">选项4</option> <option value="选项5">选项5</option> <option value="选项6">选项6</option> <option value="选项7">选项7</option> <option value="选项8">选项8</option> </select> </td> <td width="85" valign="middle"> <input name="add" id="add" type="button" value="--->"/> <input name="add_all" id="add_all" type="button" value="===>"/> <input name="remove" id="remove" type="button" value="<---"/> <input name="remove_all" id="remove_all" type="button" value="<==="/> </td> <td width="100" align="left"> <select name="second" id="second" size="10" multiple="multiple" style="background-color:#3FC;"> <option value="选项9">选项9</option> </select> </td> </tr> </table> </div> </body> <script type="text/javascript"> //左移右 /*<input name="add" id="add" type="button" value="--->"/>*/ document.getElementById("add").onclick = function add() { var firstSel = document.getElementById("first"); var option = firstSel.getElementsByTagName("option"); //javascript的数组是动态数组,长度是可以变的。 //所以先取得下拉列表的长度,避免option被移走后长度变小,导致后面循环终止,出现beg var oplength=option.length; var secondSel = document.getElementById("second"); for(i=0;i<oplength;i++) { /* selectedIndex: 该下标返回下拉列表的索引值 注: 如果有多个被选中的情况下,永远返回第一个选中的索引值,索引最小的那个 如果没有被选中的情况下,返回-1 selectedIndex是<select>的属性 */ if(firstSel.selectedIndex!=-1) { secondSel.appendChild(option[firstSel.selectedIndex]); } } } /*<input name="add_all" id="add_all" type="button" value="===>"/>*/ document.getElementById("add_all").onclick = function addAll() { var firstSel = document.getElementById("first"); var option = firstSel.getElementsByTagName("option"); //javascript的数组是动态数组,长度是可以变的。 //所以先取得下拉列表的长度,避免option被移走后长度变小,导致后面循环终止,出现beg var oplength=option.length; var secondSel = document.getElementById("second"); for(i=0;i<oplength;i++) { /*因为javascript的数组是动态数组,长度是可以变的。所以当移走全部把数 组的值移走(一个一个的移走,数组长度马上-1,所以数组下标也是-1.因次我们要把每次移的是走下标为0的那个 数,这样才保证可以全部移走)*/ secondSel.appendChild(option[0]); } } /*双击后把option移到右边*/ document.getElementById("first").ondblclick = function dblclick() { /*方法一*/ /* var firstSel = document.getElementById("first"); var option = firstSel.getElementsByTagName("option"); //javascript的数组是动态数组,长度是可以变的。 //所以先取得下拉列表的长度,避免option被移走后长度变小,导致后面循环终止,出现beg var oplength=option.length; var secondSel = document.getElementById("second"); for(i=0;i<oplength;i++) { //双击可以看成:第一次点击选中,第二次点击移动 secondSel.appendChild(option[firstSel.selectedIndex]); } */ /*方法二*/ /* this: this表示document.getElementById("first") 下拉列表 this.selectedIndex表示下拉列表选中的项 */ var secondSel = document.getElementById("second"); secondSel.appendChild(this[this.selectedIndex]); } //右移左 /*<input name="remove" id="remove" type="button" value="<---"/>*/ document.getElementById("remove").onclick = function remove() { var secondSel = document.getElementById("second"); var firstSel = document.getElementById("first"); var option = secondSel.getElementsByTagName("option"); //javascript的数组是动态数组,长度是可以变的。 //所以先取得下拉列表的长度,避免option被移走后长度变小,导致后面循环终止,出现beg var oplength=option.length; for(i=0;i<oplength;i++) { /* selectedIndex: 该下标返回下拉列表的索引值 注: 如果有多个被选中的情况下,永远返回第一个选中的索引值,索引最小的那个 如果没有被选中的情况下,返回-1 selectedIndex是<select>的属性 */ if(secondSel.selectedIndex!=-1) { firstSel.appendChild(option[secondSel.selectedIndex]); } } } /*<input name="remove_all" id="remove_all" type="button" value="<==="/>*/ document.getElementById("remove_all").onclick = function remove_all() { var secondSel = document.getElementById("second"); var firstSel = document.getElementById("first"); var option = secondSel.getElementsByTagName("option"); //javascript的数组是动态数组,长度是可以变的。 //所以先取得下拉列表的长度,避免option被移走后长度变小,导致后面循环终止,出现beg var oplength=option.length; for(i=0;i<oplength;i++) { /*因为javascript的数组是动态数组,长度是可以变的。所以当移走全部把数 组的值移走(一个一个的移走,数组长度马上-1,所以数组下标也是-1.因次我们要把每次移的是走下标为0的那个 数,这样才保证可以全部移走)*/ firstSel.appendChild(option[0]); } } /*双击后把option移到右边*/ document.getElementById("second").ondblclick = function dblclick() { /*方法一*/ /* var secondSel = document.getElementById("second"); var firstSel = document.getElementById("first"); var option = secondSel.getElementsByTagName("option"); //javascript的数组是动态数组,长度是可以变的。 //所以先取得下拉列表的长度,避免option被移走后长度变小,导致后面循环终止,出现beg var oplength=option.length; for(i=0;i<oplength;i++) { //双击可以看成:第一次点击选中,第二次点击移动 firstSel.appendChild(option[secondSel.selectedIndex]); } */ /*方法二*/ /* this: this表示document.getElementById("second") 下拉列表 this.selectedIndex表示下拉列表选中的项 */ var firstSel = document.getElementById("first"); firstSel.appendChild(this[this.selectedIndex]); } </script> </html>
コードのコメントは非常に詳細に記載されているので、皆さんのお役に立てれば幸いです。
以上がこの記事の全内容です。JavaScript プログラミングを学習する皆さんのお役に立てれば幸いです。

Javaandjavascriptaredistinctlanguages:javaisusedforenterpriseandmobileapps、whilejavascriptisforinteractivewebpages.1)javaiscompiled、staticatically、andrunsonjvm.2)javascriptisisterted、dynamsornoded.3)

JavaScriptコアデータ型は、ブラウザとnode.jsで一貫していますが、余分なタイプとは異なる方法で処理されます。 1)グローバルオブジェクトはブラウザのウィンドウであり、node.jsのグローバルです2)バイナリデータの処理に使用されるNode.jsの一意のバッファオブジェクト。 3)パフォーマンスと時間の処理にも違いがあり、環境に従ってコードを調整する必要があります。

javascriptusestwotypesofcomments:シングルライン(//)およびマルチライン(//)

PythonとJavaScriptの主な違いは、タイプシステムとアプリケーションシナリオです。 1。Pythonは、科学的コンピューティングとデータ分析に適した動的タイプを使用します。 2。JavaScriptは弱いタイプを採用し、フロントエンドとフルスタックの開発で広く使用されています。この2つは、非同期プログラミングとパフォーマンスの最適化に独自の利点があり、選択する際にプロジェクトの要件に従って決定する必要があります。

PythonまたはJavaScriptを選択するかどうかは、プロジェクトの種類によって異なります。1)データサイエンスおよび自動化タスクのPythonを選択します。 2)フロントエンドとフルスタック開発のためにJavaScriptを選択します。 Pythonは、データ処理と自動化における強力なライブラリに好まれていますが、JavaScriptはWebインタラクションとフルスタック開発の利点に不可欠です。

PythonとJavaScriptにはそれぞれ独自の利点があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1. Pythonは、データサイエンスやバックエンド開発に適した簡潔な構文を備えた学習が簡単ですが、実行速度が遅くなっています。 2。JavaScriptはフロントエンド開発のいたるところにあり、強力な非同期プログラミング機能を備えています。 node.jsはフルスタックの開発に適していますが、構文は複雑でエラーが発生しやすい場合があります。

javascriptisnotbuiltoncorc;それは、解釈されていることを解釈しました。

JavaScriptは、フロントエンドおよびバックエンド開発に使用できます。フロントエンドは、DOM操作を介してユーザーエクスペリエンスを強化し、バックエンドはnode.jsを介してサーバータスクを処理することを処理します。 1.フロントエンドの例:Webページテキストのコンテンツを変更します。 2。バックエンドの例:node.jsサーバーを作成します。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

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

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

SublimeText3 中国語版
中国語版、とても使いやすい
