-1
<script type="text/javascript">
    document.write("<table border='1' align='center' cellpadding='20'>");
    for (j = 1; j <= 10; j++) {
        var n;
        document.write('<tr>');
        for (i = 1; i <= 10; i++) {
            if (i == j) {
                document.write('<td align="right" bgcolor="green">', i * j, '</td>');
            } else if (i * j == n + 1) {
                document.write('<td align="right" bgcolor="blue">', i * j, '</td>');
            }
            else {
                document.write('<td align="right">', i * j, '</td>');
            }
        }
        document.write("</tr>");
    }
    document.write("</table>");
</script>

我的科学计算机课老师要求全班制作乘法表,并找出制作交叉线所需的等式并绘制它们。在我们这样做之后,他要求我们在交叉线之后绘制将留在乘法表中的三角形(每种颜色不同)。我得到了从左到右的交叉线,如果 i==j,另一个我想我也得到了,如果 i*j==n+1。但我真的不知道如何添加这个 n。

4

1 回答 1

0

我不知道问题是什么,通常我不只是提供代码,但这是它吗?

我冒昧地重命名您的变量并提升它们。这样,在我的意见之后,代码更加不言自明

var start = 1,
    end = 10,
    x, y;

document.write("<table border='1' align='center' cellpadding='0' cellspacing='0'>");
for (x = start; x <= end; x++) {
    document.write('<tr>');
    for (y = start; y <= end; y++) {

      if (x === y) {
        document.write('<td>&nbsp;</td>');
      }
      else if (start+end - x == y) {
        document.write('<td>&nbsp;</td>');
      }
      else if ( start+end - x > y ) {
        if ( x < y )
          document.write('<td>1</td>');
        else
          document.write("<td>2</td>");
      }
      else {
        if ( x < y )
          document.write('<td>3</td>');
        else
          document.write("<td>4</td>");
      }

    }
    document.write("</tr>");
}
document.write("</table>");

http://jsbin.com/usesoz/5/edit

于 2013-03-01T13:29:33.630 回答