2016-04-28 68 views
-3

晚上好!我創建了一個平均值計算器,我也想給它添加中值函數。我試圖創建它,但它不是很成功。請幫忙!這裏是我的平均代碼:如何爲計算器添加一箇中值函數?

"<fieldset id="numbers"><legend>Numbers</legend> 
    First number: <input type="number" onkeyup="getTotal();" onchange="getTotal();" /><br/> 
    Second number: <input type="number" onkeyup="getTotal();" onchange="getTotal();" /><br/> 
    Third number: <input type="number" onkeyup="getTotal();" onchange="getTotal();" /><br/> 
    Fourth number: <input type="number" onkeyup="getTotal();" onchange="getTotal();" /><br/> 
    Fifth number: <input type="number" onkeyup="getTotal();" onchange="getTotal();" /> 
</fieldset> 
<div id="average">Average: --</div> 
<script type="text/javascript"> 
    function getTotal() { 
     var inputs = document.getElementById('numbers').getElementsByTagName('input'), 
      count = inputs.length, i, total = 0; 
     for(i=0; i<count; i++) total += parseInt(inputs[i].value || "0",10); 
     document.getElementById('average').firstChild.nodeValue = "Average: "+(total/count); 
    }" 

這裏是我的所有代碼。

<select id="operator"> 
    <option value="-">Subtract</option> 
    <option value="+">Add</option> 
    <option value="*">Multiply</option> 
    <option value="/">Divide</option> 
</select> 

<h3>Calculator</h3> 
1st Number:&nbsp;&nbsp;<input id="x" data-in="" type="text" /><br>2nd Number: 
<input id="y" data-in="" type="text" br> 
<hr>Answer: 
<div id="d"></div> 

<SCRIPT language="JavaScript"> 
var x = document.getElementById("x"); 
var y = document.getElementById("y"); 
var d = document.getElementById("d"); 
var xstored = x.getAttribute("data-in"); 
var ystored = y.getAttribute("data-in"); 
setInterval(function(){ 
    if(x == document.activeElement){ 
    var temp = x.value; 
    if(xstored != temp){ 
     xstored = temp; 
     x.setAttribute("data-in",temp); 
     calculate(); 
    } 
    } 
    if(y == document.activeElement){ 
    var temp = y.value; 
    if(ystored != temp){ 
     ystored = temp; 
     y.setAttribute("data-in",temp); 
     calculate(); 
    } 
    } 
},50); 

function calculate() { 
    var operator = document.getElementById('operator').value; 
    var value = eval(x.value + operator + y.value); 
    d.innerHTML = value; 
} 
x.onblur = calculate; 
calculate(); 
</SCRIPT> 



<hr> 


<html> 
<head> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> 
</head> 
<body> 
    &nbsp;&nbsp; 
    <h3>Backround Color</h3> 
<select runat="server" id="select"> 
    <option value="A" style="background-color: white;">White</option> 
    <option value="B" style="background-color: black;">Black</option> 
    <option value="C" style="background-color: yellow;">Yellow</option> 
    <option value="D" style="background-color: green;">Green</option> 
    <option value="E" style="background-color: blue;">Blue</option> 
    <option value="F" style="background-color: red;">Red</option> 
    <option value="G" style="background-color: purple;">Purple</option> 
    <option value="H" style="background-color: orange;">Orange</option> 
    <option value="I" style="background-color: brown;">Brown</option> 
    <option value="J" style="background-color: pink;">Pink</option> 
    <option value="K" style="background-color: cyan;">Cyan</option>   
    <option value="L" style="background-color: gray;">Gray</option> 
</select> 
<script> 
$('#select').change(function(){ 
     if($(this).val() == 'A'){ 
     $("body").css('background-color', 'white'); 
     } 
     if($(this).val() == 'B'){ 
     $("body").css('background-color', 'black'); 
     } 
     if($(this).val() == 'C'){ 
     $("body").css('background-color', 'yellow'); 
     } 
     if($(this).val() == 'D'){ 
     $("body").css('background-color', 'green'); 
     } 
     if($(this).val() == 'E'){ 
     $("body").css('background-color', 'blue'); 
     } 
     if($(this).val() == 'F'){ 
     $("body").css('background-color', 'red'); 
     } 
     if($(this).val() == 'G'){ 
     $("body").css('background-color', 'purple'); 
     } 
     if($(this).val() == 'H'){ 
     $("body").css('background-color', 'orange'); 
     } 
     if($(this).val() == 'I'){ 
     $("body").css('background-color', 'brown'); 
     } 
     if($(this).val() == 'J'){ 
     $("body").css('background-color', 'pink'); 
     } 
     if($(this).val() == 'K'){ 
     $("body").css('background-color', 'cyan'); 
     } 
     if($(this).val() == 'L'){ 
     $("body").css('background-color', 'gray'); 
     } 
    }); 
</script> 
</body> 
</html> 



<hr> 

<fieldset id="numbers"><legend>Numbers</legend> 
    First number: <input type="number" onkeyup="getTotal();" onchange="getTotal();" /><br/> 
    Second number: <input type="number" onkeyup="getTotal();" onchange="getTotal();" /><br/> 
    Third number: <input type="number" onkeyup="getTotal();" onchange="getTotal();" /><br/> 
    Fourth number: <input type="number" onkeyup="getTotal();" onchange="getTotal();" /><br/> 
    Fifth number: <input type="number" onkeyup="getTotal();" onchange="getTotal();" /> 
</fieldset> 
<div id="average">Average: --</div> 
<script type="text/javascript"> 
    function getTotal() { 
     var inputs = document.getElementById('numbers').getElementsByTagName('input'), 
      count = inputs.length, i, total = 0; 
     for(i=0; i<count; i++) total += parseInt(inputs[i].value || "0",10); 
     document.getElementById('average').firstChild.nodeValue = "Average: "+(total/count); 
    } 


</script> 
+0

在代碼中,我看到你的算法計算平均,但如果是你試過的算法計算中位數? – RJM

+0

我從代碼編輯器中刪除它,因爲當我將它加載到瀏覽器時,我只能看到平均值的計算結果。 –

+0

如果您無法向我們展示無法使用的代碼,您如何期待我們能夠幫助您? – RJM

回答

0

Working JsBin

功能找到一個數組的中位數:

function median(arr) { 
    arr.sort(function(a,b) {return a - b;}); 
    var mid = Math.floor(arr.length/2); 
    if(arr.length % 2) { 
     return arr[mid]; 
    } 
    else { 
     return (arr[mid-1] + arr[mid])/2; 
    } 
} 
+0

不,我需要一些能夠計算一個人選擇的5個數字的中位數(包括HTML和CSS)的東西。 –

+1

你對此一無所知......你需要閱讀如何提出一個問題:http://stackoverflow.com/help/how-to-ask,你要求提供'中等功能' – JordanHendrix

相關問題