2009-09-18 6 views
0

올바른 HTML이 완전히로드 된 것처럼 보이지만 내 코드가 계속 실행되는 이유를 알 수 없습니다. 이 문제는 Firefox (버전 3.5.3 사용)에서만 나타나며 IE에서는 나타나지 않습니다. 이 혼합 몇 장식 효과 곱셈 테이블을 표시하는 단순한 스크립트입니다Firefox에서 계속 JavaScript가 실행 중입니다.

<html> 
    <head> 
    <title>Multiplication Table</title> 
    <script> 
     function drawTable(){ 
     var rb = document.configForm.rowBegin.value - 1; 
     var re = document.configForm.rowEnd.value; 
     var cb = document.configForm.colBegin.value - 1; 
     var ce = document.configForm.colEnd.value; 
     document.write("Perfect squares are highlighted in red.<p>"); 
     document.write("<table border=\"1\">"); 
     for(i = rb; i <= re; i++){ 
      document.write("<tr>"); 
      for(j = cb; j <= ce; j++){ 
      if(i == rb && j == cb){ 
      // ignore top left corner 
       document.write("<td bgcolor=\"#ffffff\"></td>"); 
      } 
      else if(i == rb){ 
      // to display the column headers 
       if(j % 2 == 0) 
       document.write("<td align=\"center\" bgcolor=\"#99d9e0\">" + j + "</td>"); 
       else 
       document.write("<td align=\"center\">" + j + "</td>"); 
      } 
      else if(j == cb){ 
      // to display the row headers 
       if(j % 2 == 0) 
       document.write("<td align=\"center\" bgcolor=\"#99d9e0\">" + i + "</td>"); 
       else 
       document.write("<td align=\"center\">" + i + "</td>"); 
      } 
      else{ 
      // writes the solutions to the table 
       if(i == j || Math.sqrt(i*j) % 1 == 0) 
       // highlight the perfect squares 
       document.write("<td align=\"center\" bgcolor=\"#ff8080\">" + i * j + "</td>"); 
       else if(j % 2 == 0) 
       document.write("<td align=\"center\" bgcolor=\"#99d9e0\">" + i * j + "</td>"); 
       else 
       document.write("<td align=\"center\">" + i * j + "</td>"); 
      } 
      } 
      document.write("</tr>"); 
     } 
     document.write("</table>"); 
     } 
    </script> 
    </head> 
    <body> 
    <h2>Multiplication Table</h2> 
    <form name="configForm"> 
     Row Range:</br> 
     Begin&nbsp;<input type="text" name="rowBegin" size="5"> 
     End&nbsp;<input type="text" name="rowEnd" size="5"> 
     <p> 
     Column Range:</br> 
     Begin&nbsp;<input type="text" name="colBegin" size="5"> 
     End&nbsp;<input type="text" name="colEnd" size="5"> 
     <p> 
     <input type="Submit" value="Make Table" onclick="return drawTable()"> 
    </form> 
    </body> 
</html> 

답변

0

document.close();을 함수 끝에 추가하십시오. 파이어 폭스는 당신이 글쓰기를 마쳤다는 것을 깨닫지 못한다.

1

당신이) (document.close 사용할 필요) document.write를을 (사용하는 경우.; 당신에게 브라우저가 완료되었음을 알립니다.

alert(); 회 전자가 회전하는 것을 멈출 수는 있지만 원하는대로 할 수는 없습니다.

관련 문제