動的テーブル Table class_prototype の実装
///
///
include("DataBinder.js");
/*
tbody>
*/
function Table(){
this.elmTable=null; //テーブルラベル
this.templetRow=null; 🎜>this.displayBody=null; //表示領域 tbody ラベル
this.isOverChange=false; //マウスを移動したときに色を変更するかどうか
this.hoverColor="#EBF3FD";マウスが上に移動したときの色
this.isActiveChange=false; //行をクリックしたときに色が変わるかどうか
this.activeColor="#D9E8FB" //行をクリックしたときの色
this.activeRow=null; // 現在のアクティブ行
}
Table.prototype = {
// マウスが上に移動したときに色を変更するかどうかを設定します
SetOverChange: function(bOverChange) {
this.isOverChange = bOverChange;
},
//行をクリックしたときに色を変更するかどうかを設定します
SetActiveChange: function(bActiveChange) {
this.isActiveChange = bActiveChange;
},
//バインドテーブルオブジェクト
BindElement: function(elm) {
this.elmTable = elm;
Event.observe(this.elmTable, "mouseover", this.onMouseOver .bindAsEventListener(this));
Event.observe(this.elmTable, "mouseout", this.onMouseOut.bindAsEventListener(this));
Event.observe(this.elmTable, "click", this.onMouseClick) .bindAsEventListener(this));
var tbody = this.elmTable.tBodies [0] //最初の tbody をテンプレートとして取得します
this.templetRow = tbody.rows[0]; // tbody 内の行をテンプレートとして
this.elmTable.removeChild(tbody) ;
this.displayBody = document.createElement("TBODY") // 表示領域 tbody を作成します
this.elmTable.appendChild (this.displayBody); //テーブルに追加
},
//バインドされたテーブルの ID
BindID: function(id) {
var elm = document.getElementById(id) ;
this.BindElement(elm);
},
_getEventRow : function(evn) {
var elm = Event.element(evn); ) null を返します;
while (elm.tagName.toLowerCase() != "tr ") {
elm = elm.parentNode;
if (elm == this.elmTable || elm == null) return null;
}
if (elm.parentNode != this.displayBody ) return null;
//マウスが上に移動したときのイベント応答
onMouseOver: function(evn) {
var row = this._getEventRow(evn);
if (!row) return;
if (this.isOverChange) {
row.style.backgroundColor = this .hoverColor; //色の変更
}
},
//移動時のマウスイベント応答
onMouseOut: function(evn) {
var row = this._getEventRow(evn);
if (!row) return;
if (this.isOverChange) {
if (row == this.activeRow) {
// 現在の行がアクティブ行の場合、アクティブ行を設定します行の色
row.style.backgroundColor = this.activeColor;
}
else {
// テンプレートの行の色として設定します
row.style.backgroundColor = row.backgroundColor; }
}
},
//行クリックイベント応答
onMouseClick: function(evn) {
var row = this._getEventRow(evn)
if (!row); return;
if (this.isActiveChange) {
if (this.activeRow != null) {
//元のアクティブ行の色を復元します
this.activeRow.style.backgroundColor = this.activeRow .backgroundColor;
}
//アクティブな行の色を設定します
row.style.backgroundColor = this.activeColor;
//現在の動作をアクティブな行に設定します
this.activeRow = row;
}
},
//新しい行を追加します。行の構造はテンプレート行と一致します
NewRow: function(bAdd) {
var _this =
var newRow = this.templetRow.cloneNode(true); //テンプレート行のディープコピーを作成します
newRow.backgroundColor = newRow.style.backgroundColor
//テーブル表示領域に追加します
if ( bAdd == true || bAdd == null) {
this.displayBody.appendChild(newRow);
return newRow
},
//Get all rows
GetRows: function() {
return this.displayBody.rows;
},
//すべての行をクリア
Clear: function() {
var newTbody = document .createElement("TBODY");
this.elmTable.replaceChild(newTbody, this.displayBody);
this.displayBody = newTbody ;
//行を削除します
DeleteRow : function(row) {
this.elmTable.deleteRow(row.rowIndex);
if (row == this.activeRow) {
this.activeRow =
}
} ,
//添字は行を削除するパラメータです
DeleteAt: function(index) {
this.displayBody.deleteRow(index );
var rows = this.GetRows(); 🎜>if (rows[index] == this.activeRow) {
this.activeRow = null;
}
},
//行を追加
AddRow: function(row) {
this.displayBody.appendChild(row);
},
onBinding: function(row) { },
// データ バインディング
BindData: function(dataSource, mapList) {
var _this = this;
this.repeater = new Replyer(); 🎜>this.repeater.setMapList(mapList);
this.repeater.defaultCreateItem = function() {
var row = _this.NewRow(false);
; >this.repeater.setDataList(dataSource);
this.repeater.setContainer(this.displayBody);
}
サンプル コードを使用します:
コードをコピー
コードは次のとおりです。
表示
;
上記の動的編集を実装する場合は、さらに詳しく説明します。これを実現するにはコードを追加する必要があります。この方法は通常推奨されません
コードをコピー
コードは次のとおりです:
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional .dtd">
🎜>
<番目> 操作
tdName">
< td>

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

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

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック

JavaScript文字列置換法とFAQの詳細な説明 この記事では、javaScriptの文字列文字を置き換える2つの方法について説明します:内部JavaScriptコードとWebページの内部HTML。 JavaScriptコード内の文字列を交換します 最も直接的な方法は、置換()メソッドを使用することです。 str = str.replace( "find"、 "置換"); この方法は、最初の一致のみを置き換えます。すべての一致を置き換えるには、正規表現を使用して、グローバルフラグGを追加します。 str = str.replace(/fi

それで、あなたはここで、Ajaxと呼ばれるこのことについてすべてを学ぶ準備ができています。しかし、それは正確には何ですか? Ajaxという用語は、動的でインタラクティブなWebコンテンツを作成するために使用されるテクノロジーのゆるいグループ化を指します。 Ajaxという用語は、もともとJesse Jによって造られました

10の楽しいjQueryゲームプラグインして、あなたのウェブサイトをより魅力的にし、ユーザーの粘着性を高めます! Flashは依然としてカジュアルなWebゲームを開発するのに最適なソフトウェアですが、jQueryは驚くべき効果を生み出すこともできます。また、純粋なアクションフラッシュゲームに匹敵するものではありませんが、場合によってはブラウザで予期せぬ楽しみもできます。 jquery tic toeゲーム ゲームプログラミングの「Hello World」には、JQueryバージョンがあります。 ソースコード jQueryクレイジーワードコンポジションゲーム これは空白のゲームであり、単語の文脈を知らないために奇妙な結果を生み出すことができます。 ソースコード jquery鉱山の掃引ゲーム

記事では、JavaScriptライブラリの作成、公開、および維持について説明し、計画、開発、テスト、ドキュメント、およびプロモーション戦略に焦点を当てています。

このチュートリアルでは、jQueryを使用して魅惑的な視差の背景効果を作成する方法を示しています。 見事な視覚的な深さを作成するレイヤー画像を備えたヘッダーバナーを構築します。 更新されたプラグインは、jQuery 1.6.4以降で動作します。 ダウンロードしてください

Matter.jsは、JavaScriptで書かれた2D Rigid Body Physics Engineです。このライブラリは、ブラウザで2D物理学を簡単にシミュレートするのに役立ちます。剛体を作成し、質量、面積、密度などの物理的特性を割り当てる機能など、多くの機能を提供します。また、重力摩擦など、さまざまな種類の衝突や力をシミュレートすることもできます。 Matter.jsは、すべての主流ブラウザをサポートしています。さらに、タッチを検出し、応答性が高いため、モバイルデバイスに適しています。これらの機能はすべて、物理ベースの2Dゲームまたはシミュレーションを簡単に作成できるため、エンジンの使用方法を学ぶために時間をかける価値があります。このチュートリアルでは、このライブラリのインストールや使用法を含むこのライブラリの基本を取り上げ、

この記事では、JQueryとAjaxを使用して5秒ごとにDivのコンテンツを自動的に更新する方法を示しています。 この例は、RSSフィードからの最新のブログ投稿と、最後の更新タイムスタンプを取得して表示します。 読み込み画像はオプションです

この記事では、ブラウザでJavaScriptのパフォーマンスを最適化するための戦略について説明し、実行時間の短縮、ページの負荷速度への影響を最小限に抑えることに焦点を当てています。
