簡體   English   中英

如何阻止表再次構建

[英]How to stop the table from being built again

我有一張來自 josh.trow @ 鏈接的可愛表格 function,它構建了一個可以填充顏色的 4x4 表格。 唯一的問題是每次我調用 function 時它都會自行重建(因此我第一次調用文件時看到的是 4x4 表,第二次看到的是 8x4 表,依此類推。)它不會乘以行,因為它們已經限制為 4。

我看不出我需要進行什么檢查來限制表的列只能構建一次。 (4)

這是JS代碼:

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);
    });
});
}

我嘗試使用一個全局變量,它阻止了表被復制,但是我的顏色填充代碼不起作用(因為它不能用新的指令刷新來填充顏色)。

基本上我添加到上面的 function 是:

var firstTime = true;
.....
function repeatedFunction(L, G, P, D, 4) {
if(firstTime == true)
{
    .....
    // code from above block
    .....
    firstTime = false;
}

您經驗豐富的 JS 眼睛是否看到我可以限制表格在哪里構建更多列?

在這里,您是 go 首席,按照您的要求進行了更新。

編輯:哎呀,現在可以了:)

http://jsfiddle.net/X83ya/2/

首先,在比較 boolean 值時,始終使用相同的比較運算符:

if(firstTime === true)

話雖如此,如果您只想重建表,則不需要它。 $('#statSheetTable').append(...只會“添加”其中的任何內容。確保在開始時將其清除,如下所示:

...
var max = 0;
$('#statSheetTable').html('');
...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM