原⽣js计算价格并合计总价
在昨天的案例的基础上,若是想要计算总价,那么就要把每⼀个li的⼩计都要加⼀遍,所有要循环每个li,并且要获取到每个li⾥的⼩计的值。
要计算出商品的总件数,然后还有总计带的价格,那么js应该这样写:
<script>
var ElementById("lists");
var ElementsByTagName("li");
var ElementsByTagName("p")[0];
var ElementsByTagName("b")[0];
var ElementsByTagName("span")[0];
var ElementsByTagName("strong")[0];
for(var i=0;i<aLis.length;i++){
fn(aLis[i]);
}
function fn(aLi){
var ElementsByTagName("input");
var ElementsByTagName("em")[0];
var ElementsByTagName("span")[0];
var ElementsByTagName("b")[0];
var num1=Number(oBtxt.innerHTML);
var num2=parseFloat(oEm.innerHTML);
//合计总价,必然要相加所有的⼩计
function fn1(){
var temp=0;//定义⼀个临时变量,⽤来储存所加过的⼩计
var emMax=0;//定义⼀个临时变量,⽤来⽐较单价的⼤⼩
for(var i=0;i<aLis.length;i++){
var spans=aLis[i].getElementsByTagName("span")[0];//获取到所有li的⼩计
var em=aLis[i].getElementsByTagName("em")[0];
temp=temp+parseFloat(spans.innerHTML);//合计就是所有⼩计相加的结果,因为有⼩数所以要⽤parseFloat
if(parseFloat(em.innerHTML)>emMax){//最⼤的那个单价值
emMax=parseFloat(em.innerHTML);
}
}
aSpant.innerHTML=temp;
aStrong.innerHTML=emMax;
}fn1();
//点击“-”按钮
aBtn[0].onclick=function(){
num1--;
if(num1<0){
原生js和js的区别num1=0
}
oBtxt.innerHTML = num1;//0
oSpan.innerHTML=num1*num2+"元";
fn1();//调⽤合计之后的值
};
//点击“+”按钮
aBtn[1].onclick=function(){
num1++;
oBtxt.innerHTML = num1;//0
oSpan.innerHTML=num1*num2+"元";
fn1();//调⽤合计之后的值
}
}
}
</script>
⽆论点击任何按钮都要循环每个li⾥的⼩计并且要相加,所以考虑到代码的重⽤,那么就要把这段代码定义为函数,⽅便任何按钮点击时调⽤。
总结:
所有⼩计相加,就要临时有个变量来储存每个⼩计相加的结果然后继续加下⼀个⼩计,上⾯案例的temp就是这个作⽤;
⽐⼤⼩,也要定⼀个临时变量,给其赋值,并让其与⾃⼰相⽐,⼩的忽略,⼤的就让其等于这个变量,上⾯例⼦中emMax就是这个作⽤。好了,今天就到这⾥,明天继续!加油!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论