彼はまた、DOM の学習方法についてもたくさん説明してくれました。とても有益だったと思います。
ここでは、皆さんと共有した方がよいと思われる例をいくつか紹介します。
1. 第 2 レベルのリンクされたドロップダウン メニュー (第 1 レベルは州、第 2 レベルは都市です。第 1 レベルで州を選択する必要があり、それに応じて第 2 レベルの都市が表示されます)
手順: 1) 基本フレームワーク (HTML): 2 つの複雑なチェック ボックス。2 番目のチェック ボックスにはオプションを指定しないでください。最初のドロップダウン ボックスはイベント ソースとして使用され、関数実装部分として使用されます。 JavaScript は onchange メソッドを通じて刺激されます。
select id= "province" onchange="selCity()">
天津オプション>
山東オプション> 🎜>
;/xmp>
2) ページの変更はあまり必要ありません。ドロップダウン メニューに 1 つを表示するだけです。
3) JavaScript を使用して関数を実装するには、最初の選択を行います。この 1 対多の対応を見て、最初はコンテナ マップ コレクションを考えましたが、JavaScript にはマップ コレクションがないため、配列などのコンテナを使用し、最終的にはこの関数の実装に 2 次元配列を使用することにしました。
コードをコピー
コードは次のとおりです:
function selCity() { var arr= [["--都市を選択--"],["海淀区","朝陽区","東城区","西城市「地区」、「宣武区」]、
[「和平区」、「河北区」、「河東区」、「河西区」、「南開区」]、
[「武漢」、「宜昌」 、「小干」、「翔樊」、「荊州」]、
[「済南」、「青島」、「煙台」、「威海」、「日照」]、
[「石家荘」、「保定」 ,"張家口 ","廊坊","邯鄲"]];
var selpNode = document.getElementById("province");
var selcNode = document.getElementById("city"); = arr[selpNode.selectedIndex];
selcNode.options.length = 0;
for(var x=0; x{
var optNode = document.createElement ("オプション ");
optNode.innerText = 都市[x]
}
}
;
概要: 毎回必ず配列をクリアしてください。
2. メーリングリスト
の考え方: 1) まず、全体的なフレームワークを考えると、テーブルを使用して書式設定を行い、テーブルや行、ノードなどの関連機能を実現することを考えます。セル
2) css 主なことはテーブルをフォーマットすることであり、2 つ目は 2 つの行に異なる効果を選択して表示することです。これは
の長さのため、html を動的に変更することで実現されます。コードの CSS 部分は比較的シンプルなので、恥ずかしいことはありません。
3) さまざまな関数を実装するための JavaScript。コードは次のとおりです。
コードをコピーします
コードは次のとおりです。
<script> <BR>var color =""; <BR>function getStyle() <BR>{ <BR>var tableNode =document.getElementsByTagName("table")[0]; >var arr = tableNode.rows; <BR>for(var x = 0;x<arr.length;x ) <BR>{ <BR>if(x%2) <BR>arr[x].className = " one"; <BR>else <BR>arr[x].className = "two"; <BR>var tdNode0 = arr[x].cells[0]; <BR>tdNode0.align = "center"; <BR>arr[x].onmouseover = function() <BR>{ <BR>color = this.className;//元の値を記録し、マウスを一度動かすと元の色に戻ることができます <BR>this.className = "チェック済み"; <BR>arr[x].onmouseout = function() <BR>{ <BR>this.className = color; <BR>} <BR>} <BR> / /同じ機能を実現するにはすべてを選択する必要があるため、どのノードであるかを区別する値を渡します <BR>function allCheck(index) <BR>{ <BR>var allNode = document.getElementsByName("all") [index]; <BR>var checkNodes = document.getElementsByName("mail"); <BR>for(var x=0;x<checkNodes.length;x ) <BR>{ <BR>checkNodes[x].checked = allNode.checked ; <BR>} <BR>} <BR>function checkBut(num) <BR>{ <BR>var mailNodes = document.getElementsByName("mail"); x<mailNodes.length; <BR>else <BR>mailNodes[x].checked = num; <BR>} <BR>} <BR>function del() <BR>{ <BR>var b = window.confirm (「すべての選択メールを削除してもよろしいですか? "); <BR>if(!b) <BR>return ; <BR>var mailNodes = document.getElementsByName("mail"); <BR>var arr = new Array(); <BR>var pos = 0; <BR>for(var x=0; x<mailNodes.length; .parentNode; <BR>arr[pos ] = trNode; <BR>} <BR>} <BR>for(var x=0; x<arr .length; x ) <BR>{ <BR>arr[x] .parentNode.removeChild(arr[x]); <BR>} <BR>getStyle(); <BR>window.onload = getStyle ; <BR></スクリプト> <BR><BR></script>