[英]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 眼睛是否看到我可以限制表格在哪里构建更多列?
首先,在比较 boolean 值时,始终使用相同的比较运算符:
if(firstTime === true)
话虽如此,如果您只想重建表,则不需要它。 $('#statSheetTable').append(...
只会“添加”其中的任何内容。确保在开始时将其清除,如下所示:
...
var max = 0;
$('#statSheetTable').html('');
...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.