josh.trow @linkから素敵なテーブル機能を得て、色で塗りつぶすことができる4x4テーブルを作成しています。唯一の問題は、関数を呼び出すたびにそれ自体を再構築することです(最初に4x4テーブルが表示されたファイルを呼び出すとき、2回目に8x4テーブルが表示されるなど)。行が既に4に制限されているためです。テーブルを再構築しないようにする方法
テーブルの列を1回だけ作成するように制限する必要があるかどうか確認できません。
function repeatedFunction(L, G, P, D) {
jQuery.fn.reverse = [].reverse;
var completeData = [L, G, P, D];
var max = 4;
$.each(completeData, function(intIndex, objValue) {
if (objValue > max) max = objValue;
});
for (var i = 0; i < max; i++)
{
$('#statSheetTable').append('<tr id="resultRow' + i + '"></tr>');
$.each(completeData, function(intIndex, objValue) {
$('#resultRow' + i).append('<td name="column' + intIndex + '" ></td>');
});
}
$.each(completeData, function(intIndex, objValue) {
$('td[name=column' + intIndex + ']').reverse().each(function(idx, val) {
if (idx < objValue) $(this).addClass('complete' + intIndex);
});
});
}
Iが重複されるのテーブルを停止グローバル変数を使用してみましたが、その後、私の色充填コードは、(それができるように機能していなかった。(4)
ここJSコードです色で塗りつぶす新しい指示でリフレッシュされないでください)。
は基本的に私は上記の機能に追加されたものだった:
var firstTime = true;
.....
function repeatedFunction(L, G, P, D, 4) {
if(firstTime == true)
{
.....
// code from above block
.....
firstTime = false;
}
私はより多くの列を構築するからテーブルを制限することができる場所、あなたの経験豊富なJSの目は見ていますか?
@Briz:jQuery.fn.reverseは関数の内部すべきではないこと - あなたは、私はそれを使用する場所、それが一度だけ呼ばれて見ることができます - グローバルなjQueryオブジェクトを変更するので適切です。 –