ホームページ ウェブフロントエンド jsチュートリアル スクロール バー、固定タイトル、並べ替え機能を備えた JavaScript テーブル。_JavaScript スキル

スクロール バー、固定タイトル、並べ替え機能を備えた JavaScript テーブル。_JavaScript スキル

May 16, 2016 pm 06:41 PM
スクロール・バー シート

コードをコピー コードは次のとおりです:

//使用要求:
//1.将表格的Class命名为:sorttableHold,
//2.表格放置在一个div中,此div设有overflow属性.
//3.表格要求有ID,div要求有ID
//4.要有JQuery.min.js文件
//5.OK.


addEvent(window, "load", sortables_init);

var SORT_COLUMN_INDEX;

function sortables_init() {
// Find all tables with class sortable and make them sortable
if (!document.getElementsByTagName) return;
tbls = document.getElementsByTagName("table");
for (ti=0;tithisTbl = tbls[ti];
if (((' '+thisTbl.className+' ').indexOf("sorttableHold") != -1) && (thisTbl.id)) {
//initTable(thisTbl.id);
ts_makeSortable(thisTbl);
}
}
}

function ts_makeSortable(table) {
if (table.rows && table.rows.length > 0) {
var firstRow = table.rows[0];
}
if (!firstRow) return;

// We have a first row: assume it's the header, and make its contents clickable links
for (var i=0;ivar cell = firstRow.cells[i];
var txt = ts_getInnerText(cell);
cell.innerHTML = ''onclick="ts_resortTable(this, '+i+');return false;">' +
txt+'   
';
}
if(table!=undefined)//分离
{
$('
').insertBefore('#' table.parentNode.parentNode.id);//DIV を作成します
var div_title=document.getElementById(table.id 'Title'); true)//すべてをタイトルにコピーします
for(i = title.rows.length -1;i >0;i--)//タイトルのすべてのコンテンツを削除し、最初の行、つまりタイトルのみを残します
title.deleteRow(i)
table.deleteRow(0)// GridView の最初の行 (title) が削除されるため、コンテンツのみが存在します。
div_title.appendChild(title) //タイトルは div
$("#" div_title.id " table:eq(0)").attr("id",div_title.id "1"); に与えられます。
if (typeof el == "string") return
if (typeof el; == "未定義") { return el };
if (el.innerText) return el.innerText; // 必要ありませんが、より高速です
var str = ""; = el.childNodes;
var l = cs.length;
for (var i = 0; i switch (cs[i].nodeType) {
case 1: //ELEMENT_NODE
str = ts_getInnerText(cs[i]);
break;
case 3: //TEXT_NODE
str = cs[i].nodeValue; 🎜>}
}
return str;
}

function ts_resortTable(lnk,clid) {
//
のスパンを取得します。 var ci=0;ci< lnk.childNodes.length;ci ) {//タイトルのスパンを取得します
if (lnk.childNodes[ci].tagName && lnk.childNodes[ci].tagName.toLowerCase() == 'span') span = lnk.childNodes[ci];
}
var spantext = ts_getInnerText(span); // タイトル スパンの内容
var td = lnk.parentNode; // セル>var column = clid || td.cellIndex;//Column
var tablecurrent = getParent(td,'TABLE');//Table
var tableid=tablecurrent.id.substring(0,tablecurrent.id. length-6);
var table=document.getElementById(tableid);
// 列の型を計算します
if (table.rows.length sortfn = ts_sort_caseinsensitive;
if (itm.match(/^dd[/-]dd[/-]dddd$/) ) sortfn = ts_sort_date;
if (itm.match(/^dd[/-]dd[/-]dd$/)) sortfn = ts_sort_date; )) sortfn = ts_sort_currency;
if (itm.match(/^[d.] $/)) sortfn = ts_sort_numeric;
SORT_COLUMN_INDEX = 列; var newRows = new Array() ;
for (i=0;i for (j=0;j< ;table.rows.length;j ) { newRows[j] = table.rows[j] }

newRows.sort(sortfn); (span.getAttribute("sortdir ") == 'down') {
ARROW = ' ↑';
newRows.reverse();
span.setAttribute('sortdir','up');
} else {
ARROW = ' ↓';
span.setAttribute('sortdir','down');
}

// 既存の子行を追加しますtbody なので、新しいものを作成するのではなく移動します
// sortbottom rows を実行しません
for (i=0;i{ if (!newRows[i ].className || (newRows [i].className && (newRows[i].className.indexOf('sortbottom') == -1))) table.tBodies[0].appendChild(newRows[i]);}
// sortbottom 行のみを実行します
for (i=0;i{ if (newRows[i].className && (newRows[i].className.indexOf(' sortbottom') != -1 )) table.tBodies[0].appendChild(newRows[i]);}

// 表示されている可能性のある他の矢印を削除します
var allspans = document.getElementsByTagName ("スパン");
for (var ci=0;ciif (allspans[ci].className == 'sortarrow') {
if (getParent( allspans[ci],"table ") == getParent(lnk,"table")) { // 同じテーブル内ですか?
allspans[ci].innerHTML = ' '>}

}

span.innerHTML = ARROW;
$('#' tableid ' tr:even').css("background-color","FFF7E8"); ('#' tableid ' tr :odd').css("background-color","#CCE8CF");
}

function getParent(el, pTagName) {
if (el == null) return null;
else if (el.nodeType == 1 && el.tagName.toLowerCase() == pTagName.toLowerCase()) // Gecko のバグ、大文字であるはずです
return el;
else
return getParent(el.parentNode, pTagName);
}
function ts_sort_date(a,b) {
// y2k 注: 50 未満の 2 桁の年は 20XX として扱われます。 、50 を超える場合は 19XX として処理されます。 {
dt1 = aa.substr(6,4) aa.substr(3,2) aa.substr(0,2);
} else {
yr = aa.substr(6,2) ;
if (parseInt (yr) dt1 = yr aa.substr(3,2) aa.substr (0,2);
}
if (bb.length == 10) {
dt2 = bb.substr(6,4) bb.substr(3,2) bb.substr(0, 2);
} else {
yr = bb.substr(6,2);
if (parseInt(yr) dt2 = 年 bb.substr(3,2) bb.substr(0,2);
if (dt1==dt2) 戻り値
if ( dt1 戻り値
}

function ts_sort_currency(a,b) {
aa = ts_getInnerText(a.cells[SORT_COLUMN_INDEX]).replace(/[^0-9.]/g,'');
bb = ts_getInnerText(b.cells[SORT_COLUMN_INDEX]).replace(/[^0-9.]/g,'');
return parseFloat(aa) - parseFloat(bb);
}

function ts_sort_numeric(a,b) {
aa = parseFloat(ts_getInnerText(a.cells[SORT_COLUMN_INDEX]));
if (isNaN(aa)) aa = 0;
bb = parseFloat(ts_getInnerText(b.cells[SORT_COLUMN_INDEX]));
if (isNaN(bb)) bb = 0;
aa-bb を返します。
}

function ts_sort_caseinsensitive(a,b) {
aa = ts_getInnerText(a.cells[SORT_COLUMN_INDEX]).toLowerCase();
bb = ts_getInnerText(b.cells[SORT_COLUMN_INDEX]).toLowerCase();
if (aa==bb) は 0 を返します。
if (aa1 を返します。
}

function ts_sort_default(a,b) {
aa = ts_getInnerText(a.cells[SORT_COLUMN_INDEX]);
bb = ts_getInnerText(b.cells[SORT_COLUMN_INDEX]);
if (aa==bb) は 0 を返します。
if (aa1 を返します。
}


function addEvent(elm, evType, fn, useCapture)
// addEvent および RemoveEvent
// IE5、NS6、および Mozilla のクロスブラウザー イベント処理
// スコット・アンドリュー著
{
if (elm.addEventListener){
elm.addEventListener(evType, fn, useCapture);
true を返します。
} else if (elm.attachEvent){
var r = elm.attachEvent("on" evType, fn);
r を返します;
} else {
alert("ハンドラーを削除できませんでした");
}
}
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

PPT テーブルに挿入される画像の形式を調整する手順 PPT テーブルに挿入される画像の形式を調整する手順 Mar 26, 2024 pm 04:16 PM

1. 新しい PPT ファイルを作成し、例として [PPT Tips] という名前を付けます。 2. [PPT Tips]をダブルクリックしてPPTファイルを開きます。 3. 例として 2 行 2 列の表を挿入します。 4. 表の境界線をダブルクリックすると、上部ツールバーに[デザイン]オプションが表示されます。 5. [シェーディング]オプションをクリックし、[画像]をクリックします。 6. [画像]をクリックすると、画像を背景にした塗りつぶしオプションダイアログボックスが表示されます。 7. ディレクトリ内で挿入したいトレイを見つけ、「OK」をクリックして画像を挿入します。 8. テーブル ボックスを右クリックして、設定ダイアログ ボックスを表示します。 9. [セルの書式設定]をクリックし、[画像を網掛けとして並べる]にチェックを入れます。 10. [中央]、[ミラー]など必要な機能を設定し、[OK]をクリックします。注: デフォルトでは、表に画像が入力されます。

Microsoft、Windows 11のFluentスクロールバーをGoogle Chromeに導入 Microsoft、Windows 11のFluentスクロールバーをGoogle Chromeに導入 Apr 14, 2023 am 10:52 AM

Windows 10 とは異なり、Windows 11 には、ユーザーが操作すると形状が変化する新しい最新の「流体スクロールバー」が搭載されています。 Fluent スクロールバーは本質的に動的であり、さまざまなフォーム ファクターで、またはウィンドウ サイズを変更すると自動的に拡大縮小され、現在、設定、メディア プレーヤーなどのアプリで使用されています。 Microsoftの新たな提案によると、Google Chromeにはまもなくスムーズなスクロールバー機能が搭載される可能性があるという。 Microsoftは提案の中で、Chromeの古いスクロールバーを最新化したいと述べている

売上予測表の作り方 売上予測表の作り方 Mar 20, 2024 pm 03:06 PM

帳票を上手に作成できることは、経理や人事、財務の分野だけでなく、多くの営業職にとっても帳票の作成を学ぶことは非常に重要です。なぜなら、販売に関連するデータは非常に大規模かつ複雑であり、問​​題を説明するために文書に単純に記録することはできないからです。より多くの営業マンがExcelを使った表作成に習熟できるよう、売上予測に関する表作成の課題を編集部が紹介しますので、お困りの友人は必見です! 1. [売上予測・目標設定]xlsmを開き、各テーブルに格納されているデータを分析します。 2. 新規に[空のワークシート]を作成し、[セル]を選択し、[ラベル情報]を入力します。下に[ドラッグ]し、月を[塗りつぶします]。 [その他]のデータを入力し、[

JavaScript を使用してテーブルの列幅のドラッグ アンド ドロップ調整を実装するにはどうすればよいですか? JavaScript を使用してテーブルの列幅のドラッグ アンド ドロップ調整を実装するにはどうすればよいですか? Oct 21, 2023 am 08:14 AM

JavaScriptを使用してテーブルの列幅のドラッグアンドドロップ調整機能を実現するにはどうすればよいですか? Web テクノロジーの発展に伴い、Web ページ上に表形式で表示されるデータがますます増えています。ただし、表の列幅がニーズを満たせない場合があり、内容がオーバーフローしたり、幅が不足したりすることがあります。この問題を解決するには、JavaScript を使用してテーブルの列幅のドラッグ アンド ドロップ調整機能を実装し、ユーザーが必要に応じて列幅を自由に調整できるようにします。テーブルの列幅のドラッグ アンド ドロップ調整機能を実現するには、主に次の 3 つのポイントが必要です。

条件に応じて色を自動変更するWPS値の設定方法_条件に応じて色を自動変更するWPSテーブル値の設定手順 条件に応じて色を自動変更するWPS値の設定方法_条件に応じて色を自動変更するWPSテーブル値の設定手順 Mar 27, 2024 pm 07:30 PM

1. ワークシートを開き、[スタート]-[条件付き書式]ボタンを見つけます。 2. [列の選択] をクリックし、条件付き書式を追加する列を選択します。 3. [条件付き書式]ボタンをクリックするとオプションメニューが表示されます。 4. [条件付きルールを強調表示]-[間]を選択します。 5. ルールを入力します: 20、24、濃い緑色のテキストと濃い塗りつぶし。 6. 確認後、選択した列のデータは、設定に従って対応する数値、テキスト、セル ボックスで色付けされます。 7. 競合のない条件付きルールは繰り返し追加できますが、競合するルールの場合、WPS は以前に確立された条件付きルールを最後に追加したルールに置き換えます。 8. [Between] ルール 20 ~ 24 と [Less than] 20 の後にセル列を繰り返し追加します。 9. ルールを変更する必要がある場合は、ルールをクリアしてからルールをリセットします。

点線の外側に帳票が印刷できない場合はどうすればよいですか? 点線の外側に帳票が印刷できない場合はどうすればよいですか? Mar 28, 2023 am 11:38 AM

表が点線の外側に印刷できない問題の解決策: 1. Excel ファイルを開き、開いたページで「印刷」をクリックします; 2. プレビュー ページで「ズームなし」を見つけて、1 ページに調整することを選択します。 ; 3. 印刷するプリンターを選択します。ドキュメントがあれば十分です。

Wordの表を合計する方法を知っていますか? Wordの表を合計する方法を知っていますか? Mar 21, 2024 pm 01:10 PM

Word の表で数を数えるという問題に遭遇することがあります。通常、このような問題に遭遇すると、ほとんどの生徒は Word の表を Excel にコピーして計算しますが、黙って電卓を手に取る生徒もいます。簡単に計算する方法はありますか?もちろんありますが、実はWordでも合計額を計算することができます。それで、その方法を知っていますか?今日は、一緒に見ていきましょう!困っている友達はすぐに集めてください。手順の詳細: 1. まず、コンピューターで Word ソフトウェアを開き、処理する必要がある文書を開きます。 (図のように) 2. 次に、(図のように) 合計値が配置されているセルにカーソルを置き、[メニュー バー] をクリックします。

Vue でテーブル データをエクスポートおよびインポートする方法 Vue でテーブル データをエクスポートおよびインポートする方法 Oct 15, 2023 am 08:30 AM

Vue で表形式データのエクスポートとインポートを実装する方法には、特定のコード サンプルが必要です。Vue を使用して開発された Web プロジェクトでは、表形式データを Excel にエクスポートしたり、Excel ファイルをインポートしたりする必要がよく発生します。この記事では、Vue を使用してテーブル データのエクスポートおよびインポート機能を実装する方法と、具体的なコード例を紹介します。 1. テーブル データをエクスポートするためのインストールの依存関係 まず、Excel ファイルをエクスポートするためのいくつかの依存関係をインストールする必要があります。 Vue プロジェクトのコマンド ラインから次のコマンドを実行します: npmin

See all articles