一个js文件用于计算

时间:2014-01-06 06:20:30

标签: javascript jquery math equation

我有一个js文件(使用jquery框架),这是一个计算相应值的简单公式。

JS FILE(样本):

var colorOneRed = parseFloat($('#colorOneRed').text()); ...

var totalRed = (parseFloat(colorOneRed) + parseFloat(colorTwoRed) ...

$('#totalColorRed').text(totalRed); ...

我有多次相同的精确等式,只有颜色变化。因此,相同的等式用于绿色var colorGreen,蓝色,紫色等

我的问题是我可以只写一个方程来包含所有变量和#id's 而是一遍又一遍地写相同的等式。

我尝试了id^='totalcolor'方法,但它只会计算一个变量。所以我的意思是,如果#colorOneRed的值为40,但#colorOneGreen的值为60,则只会使用{{1}为所有值计算一个值}} 方法。

我不确定它是否可能,但我希望有一个方程式可以计算所有id^=colorOne,一个计算所有greens,依此类推。

提前感谢您的帮助。

3 个答案:

答案 0 :(得分:1)

将代码包装在传递所需DOM元素以执行计算的函数中:

function calculate(colorOneElement, totalElement) {

    var colorOne = parseFloat($(colorOneElement).text()); ...

    var total = (parseFloat(colorOneRed) + parseFloat(colorTwoRed) ...

    $(totalElemenet).text(totalRed); ...

}

用法如下:

calculate(document.getElementById("colorOneRed"),
        document.getElementById("totalOneRed"));

calculate(document.getElementById("colorOneGreen"),
        document.getElementById("totalOneGreen"));
等等......

答案 1 :(得分:1)

将计算放在一个函数中:

function calc(displayElt, color){
var total=parseFloat($('#colorOne'+color).text()) + parseFloat($('#colorTwo'+color).text())+..
$('#'+displayElt).text(total);
}

calc(totalColorRed,Red);

答案 2 :(得分:1)

我认为这就是你要做的。结帐fiddle。您可以随时为其他color元素扩展此内容。