jquery怎样优化以下代码 50
以下是我的jquery运算代码://用.on("inputprotected")监控html页面里input值的变化,如果有改变就需要重新执行传值$(document)....
以下是我的jquery运算代码:
//用.on("input protected")监控html页面里input值的变化,如果有改变就需要重新执行传值
$(document).on("input protected",function(){
$("#jieguo").val(add);
$("#jieguoaa").val(sub);
})
/** 以下为自定义函数,加法一(add)正确计算 **/
/**
* 加法运算,避免数据相加小数点后产生多位数和计算精度损失。
*
* @param num1加数1 | num2加数2
*
* 加数可增加或减少
*/
var add = function numAdd(num1, num2) {
var num1 = $("#first").val();
var num2 = $("#second").val();
var baseNum, baseNum1, baseNum2;
try {
baseNum1 = num1.toString().split(".")[1].length;
} catch (e) {
baseNum1 = 0;
}
try {
baseNum2 = num2.toString().split(".")[1].length;
} catch (e) {
baseNum2 = 0;
}
baseNum = Math.pow(10, Math.max(baseNum1, baseNum2));
return (num1 * baseNum + num2 * baseNum) / baseNum;
};
/** 以下为自定义函数,加法二(sub)正确计算 **/
/**
* 加法运算,避免数据相加小数点后产生多位数和计算精度损失。
*
* @param num1加数1 | num2加数2
*
* 加数可增加或减少
*/
var sub= function numAdd(num1, num2) {
var num1 = $("#firstaa").val();
var num2 = $("#secondaa").val();
var baseNum, baseNum1, baseNum2;
try {
baseNum1 = num1.toString().split(".")[1].length;
} catch (e) {
baseNum1 = 0;
}
try {
baseNum2 = num2.toString().split(".")[1].length;
} catch (e) {
baseNum2 = 0;
}
baseNum = Math.pow(10, Math.max(baseNum1, baseNum2));
return (num1 * baseNum + num2 * baseNum) / baseNum;
};
因为我要在同一html页面中将两个不同的计算结果输出到html页面里两个不同的input里,这样写是可以输出到不同的input里,我想因为这样写重复代码不太合理,请教各位,怎样才能优化成一段代码,并将两个计算结果输出到不同的input里呢?就是代码重用那种。
补充html代码如下:
<p>加法数字一: <input style="text" id="first" style="width:40px;" /> </p>
<p>加法数字一: <input style="text" id="second" style="width:40px;" /> </p>
<p>加法结果一: <input style="text" id="jieguo" style="width:40px;" /> </p>
<br />
<p>加法数字二: <input style="text" id="firstaa" style="width:40px;" /> </p>
<p>加法数字二: <input style="text" id="secondaa" style="width:40px;" /> </p>
<p>加法结果二: <input style="text" id="jieguoaa" style="width:40px;" /> </p> 展开
//用.on("input protected")监控html页面里input值的变化,如果有改变就需要重新执行传值
$(document).on("input protected",function(){
$("#jieguo").val(add);
$("#jieguoaa").val(sub);
})
/** 以下为自定义函数,加法一(add)正确计算 **/
/**
* 加法运算,避免数据相加小数点后产生多位数和计算精度损失。
*
* @param num1加数1 | num2加数2
*
* 加数可增加或减少
*/
var add = function numAdd(num1, num2) {
var num1 = $("#first").val();
var num2 = $("#second").val();
var baseNum, baseNum1, baseNum2;
try {
baseNum1 = num1.toString().split(".")[1].length;
} catch (e) {
baseNum1 = 0;
}
try {
baseNum2 = num2.toString().split(".")[1].length;
} catch (e) {
baseNum2 = 0;
}
baseNum = Math.pow(10, Math.max(baseNum1, baseNum2));
return (num1 * baseNum + num2 * baseNum) / baseNum;
};
/** 以下为自定义函数,加法二(sub)正确计算 **/
/**
* 加法运算,避免数据相加小数点后产生多位数和计算精度损失。
*
* @param num1加数1 | num2加数2
*
* 加数可增加或减少
*/
var sub= function numAdd(num1, num2) {
var num1 = $("#firstaa").val();
var num2 = $("#secondaa").val();
var baseNum, baseNum1, baseNum2;
try {
baseNum1 = num1.toString().split(".")[1].length;
} catch (e) {
baseNum1 = 0;
}
try {
baseNum2 = num2.toString().split(".")[1].length;
} catch (e) {
baseNum2 = 0;
}
baseNum = Math.pow(10, Math.max(baseNum1, baseNum2));
return (num1 * baseNum + num2 * baseNum) / baseNum;
};
因为我要在同一html页面中将两个不同的计算结果输出到html页面里两个不同的input里,这样写是可以输出到不同的input里,我想因为这样写重复代码不太合理,请教各位,怎样才能优化成一段代码,并将两个计算结果输出到不同的input里呢?就是代码重用那种。
补充html代码如下:
<p>加法数字一: <input style="text" id="first" style="width:40px;" /> </p>
<p>加法数字一: <input style="text" id="second" style="width:40px;" /> </p>
<p>加法结果一: <input style="text" id="jieguo" style="width:40px;" /> </p>
<br />
<p>加法数字二: <input style="text" id="firstaa" style="width:40px;" /> </p>
<p>加法数字二: <input style="text" id="secondaa" style="width:40px;" /> </p>
<p>加法结果二: <input style="text" id="jieguoaa" style="width:40px;" /> </p> 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询