在javascript中保持第二个变量值“落后”第一个变量值

时间:2013-07-14 20:33:04

标签: javascript jquery variables

我正在为笔记本电脑上的本地高级中心设置一个宾果呼叫板系统(无法访问互联网),以便通过屏幕投影系统使用。我在一个本地保存的html文件中这样做,在webbrowser中打开,我已经让大部分系统一起工作了。

对于“所有被叫球”显示,我有一个HTML表设置,所有宾果号码作为可点击字段输入到变量中。这是通过jquery使用以下内容完成的:

$(document).ready(function() {
$("tbody td").click(function(e) {

var currentCellText = $(this).text();

然后我使用以下命令将正确的BINGO字母前缀添加到被叫号码:

if (currentCellText < 16)
{
    var bingoletter = "B";
}
else if (currentCellText < 31 && currentCellText > 15)  
{  
    var bingoletter = "I";  
}  
else if (currentCellText < 46 && currentCellText > 30)
    var bingoletter = "N";  
}  
else if (currentCellText < 61 && currentCellText > 45)  
{  
    var bingoletter = "G";  
}  
else if (currentCellText < 76 && currentCellText > 60)  
{  
    var bingoletter = "O";  
}  
else  
{  
    var bingoletter = ""; 
    var currentCellText = "";
}  


var currentnumber = ("<BIG><BIG><BIG><BIG><BIG><B><CENTER>" + bingoletter + currentCellText + "<br/>");

document.getElementById("currentnumber").innerHTML = currentnumber; 

我必须在这里包含HTML代码,就好像我试图将它放入实际的表格中一样,每次都会发生故障。不知道为什么......

然后我通过在单独的表格显示中使用此表格单元格(而不是警告框)来显示被叫号码:

<td id="currentnumber" width="50%" rowspan="2"></td>

我还有一个单独的javascript,当我点击数字时,它也会改变每个表格单元格的背景颜色,以便显示已经调用过的数字。这个工作正常,以及分别在较大的字体显示中显示当前被调用的数字的jquery。

一切都运行正常,但我坚持的是试图获得另一个,第二个变量,它将显示最后一个被调用的数字。这要做的是显示当点击新号码时调用的最后一个号码作为当前号码。我有一个表格显示设置,我必须弄清楚的是正确的编码是当前的一个。换句话说,该第二个变量将保持当前数字的值,称为变量“落后”实际当前数字变量。即我点击html表格中的B6,所以B6背景在主显示表中改变颜色,B6显示在一个单独的被叫数字表格单元格中(所有工作都在此处工作),“最后一个号码”单元格为空白,因为没有之前的号码已被调用,当我点击I21作为当前号码时,我希望B6显示在最后一个号码变量中。等等G60被点击为下一个当前数字,那么最后一个数字应该显示I21。

非常感谢, 斯坦...

2 个答案:

答案 0 :(得分:1)

试试这个:

document.getElementById("lastnumber").innerHTML = document.getElementById("currentnumber").innerHTML;

在您设置currentnumber的内容之前。这个想法只是在你更改新文本之前复制你最后显示的内容。显然,您需要将lastnumber更改为您想要调用的最后一个数字的单元格。

答案 1 :(得分:1)

您需要将clickCellText存储在click函数之外,以便保留其值。将其初始化为空字符串以开始。

$(document).ready(function() {

var currentCellText = "";

$("tbody td").click(function(e) {

然后创建第二个变量(假设lastCellText)。再次将其初始化为click函数之外的空字符串。

$(document).ready(function() {

    var currentCellText = "";
    var lastCellText = "";

    $("tbody td").click(function(e) {

然后在点击功能中,只需将currentCellText的值存储到lastCellText,然后使用currentCellText

更新$(this).text()的值
$("tbody td").click(function(e) {

    lastCellText = currentCellText;
    currentCellText = $(this).text();

希望这有帮助。