求大神讲解,我被难哭啦。

解决方案 »

  1.   

    先得到输入值,双循环,外层初值i为1,每次+1,>输入值就结束,内层初值j=i,每次+1,>i结束。
    内层代码:输出i和j的值到页面,可以用innerHTML或者构造节点并插入。
    输入9,i*j遍历过程如下:
    1*1
    2*1 2*2
    3*1 3*2 3*3
    以此类推
      

  2.   


    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title></title>
    </head>
    <body>
    <div id="content"></div>
    <div><label>请输入要打印的口诀数:</label><input type="text" name="input" id="input" value="" /><button onclick="defined();">打印口诀</button></div>
    <div><button onclick="method(9); ">绘制9*9的乘法表</button><button onclick="delOneRow(); ">来人啊,给我删一行</button></div>
    </body>
    <script type="text/javascript">
    function method(num){
    var str = "";
    for (var i=1;i<=num;i++) {
    str += "<div style='margin-bottom:3px;'>"
    for(var j=1;j<=i;j++){
    var s = "<span style='border:1px solid #000000;margin-right:5px;width:80px;height:30px;line-height:30px;display:inline-block;text-align:center;'>"+i+"*"+j+"="+i*j+"</span>";
    str += s;
    }
    str+="</div>";
    }
    document.getElementById('content').innerHTML=str;
    }
    function delOneRow(){
    document.getElementById("content").lastChild.remove();
    }
    function defined(){
    var num = document.getElementById("input").value;
    num = num.trim();//清空左右空格
    if(num==""){
    alert("请输入要打印的口诀数");
    return;
    }
    if(isNaN(num)){
    alert("输入的不是数字");
    return;
    }
    if(num>9||num<1){
    alert("报歉,只绘制9*9的乘法表");
    return;
    }
    method(num);
    }
    </script>
    </html>