2013-09-01 30 views
0

到目前爲止,我已經編寫了一個代碼(從其他站點提取的一些函數),它生成一個包含15個數字和空白點的表格。如何檢查與單擊表格單元格相鄰的值,並在「空」時替換該值

我想知道如何編寫一個函數,當我點擊任一單元格,並且單元鄰近與「空」的單元格,它交換兩個單元格的值

<script type="text/javascript"> 

    var test = 0; 
    var startNumber = 0; 
    var arrayNumbers = new Array() 

    for (i = 0; i < 16; ++i) { 
     if (i == 15) { arrayNumbers[i] = "empty"; } 
     else { 
      ++startNumber; 
      arrayNumbers[i] = startNumber 
     } 
    } 

    shuffle(arrayNumbers); 

    document.write("<table id = \"table1\" border = \"1\">") 

    for (k = 0; k < 4; ++k) { 
     document.write("<tr>") 
     for (i = 0; i < 4; ++i) { 
      document.write("<td>" + arrayNumbers[test] + "</td>"); 
      ++test 
     } 
     document.write("</tr>") 
    } 

    document.write("</table>") 
    // Table Made 

    document.write("askjd") 

    document.write(document.getElementById("table1").getElementsByTagName("tr")[2]) 

    function shuffle(array) { 
     var currentIndex = array.length, temporaryValue, randomIndex; 

     // While there remain elements to shuffle... 
     while (0 !== currentIndex) { 

      // Pick a remaining element... 
      randomIndex = Math.floor(Math.random() * currentIndex); 
      currentIndex -= 1; 

      // And swap it with the current element. 
      temporaryValue = array[currentIndex]; 
      array[currentIndex] = array[randomIndex]; 
      array[randomIndex] = temporaryValue; 
     } 

     return array; 
    } 

    var table = document.getElementById('table1'), 
cells = table.getElementsByTagName('td'); 

    for (var i = 0, len = cells.length; i < len; i++) { 
     cells[i].onclick = function() { 
      window.alert(this.innerHTML); 



     } 
    } 

</script> 

如果任何人都可以幫助它會很棒!

回答

0

我只想循環從i = 1i < len - 1,然後做我的魔上cells[i]cells[i-1]cells[i+1]

也許你只是想與innerText一起工作,以避免引用<>&'"等問題

相關問題