2011-05-03 84 views
1
window.onload = raknaUtMedelvarde; 

function raknaUtMedelvarde(){ 

    var tabell = document.getElementById("temperaturtabell"); 
    var rader = tabell.getElementsByTagName("tr"); 

    for (var i = 0; i < rader.length; i++){ 
     var tabellceller = rader[i].getElementsByTagName("td"); 
     //alert(tabellceller.length); 
     //räkna ut medelvärde 
     var medel = medelVarde(tabellceller); 
     //alert(medel); 
     var medelText = document.createTextNode(medel); 
     var medelElement = tabellceller [tabellceller.length - 1]; 
     medelElement.appendChild(medelText); 


    } 
} 

function medelVarde(celler){ 
    var summa = 0; 
    for (var i = 1; i < celler.length - 1; i++){ 

     var nuvarandeVarde = celler[i].firstChild.nodeValue; 
     summa = summa + parseInt(nuvarandeVarde); 
    } 
    return summa/5; 
} 
// code behind "visa värde" (show the value) 
//I think here somewhre is the problem? 

function hitta(){ 

    var varde = parseInt(document.getElementById("varde").value); 
    var tabell = document.getElementById("temperaturtabell"); 
    var rader = tabell.getElementsByTagName("tr"); 

    for (var i = 0; i < rader.length; i++){ 

     var tabellceller = rader[i].getElementsByTagName("td"); 
     // checkpoint to see is the values is >= then the enter value 
     if(haVarde (varde, tabellceller)) 
      rader[i].className = "emp"; 


    } 
} 

// boolean method to check the value 
function haVarde(varde, celler){ 
    var harVarde = false; 
    var sum = 0; 
    for (var i = 1; i = celler.length -1; i++){ 

     var nuvarandevarde = parseInt(celler[i].firstChild.nodeValue); 
      if (nuvarandevarde >= varde) 
      { 
       harVarde = true; 
       celler[i].className = "emptd"; 
      } 
    } 
    return harVarde; 
} 

你好!firefoxs幾乎與此代碼崩潰。它似乎工作,但不是真的

我正在寫這段代碼。我嘗試使用表格中的總數據檢查值。 FF開始崩潰有點說...我有問題不知道在哪裏看看消息:http://dl.dropbox.com/u/3632213/what.jpg ...毫米,毫米不明白的消息...任何建議比歡迎! :)

回答

2

這條線:

for (var i = 1; i = celler.length -1; i++){ 

會導致無限循環。

你可能意思是< =?

+0

非常感謝!我猜是時候搶一些食物了! :)想知道如果螢火蟲可以捕捉到這個錯誤?因爲事情本身不是錯誤;對? – YoniGeek 2011-05-03 11:02:16

+0

@YoniGeek:'i = celler.length - 1'是一個表達式,它帶有真實性,因此它可能是(程序員)錯誤和錯誤,但它不是語法錯誤;我不認爲Firebug足夠聰明,可以將其視爲你不想做的事情。 – 2011-05-03 11:07:54