我有一个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
,依此类推。
提前感谢您的帮助。
答案 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
元素扩展此内容。