JS是新手,请帮忙关于JavaScript循环的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS是新手,请帮忙关于JavaScript循环的问题相关的知识,希望对你有一定的参考价值。
------下面这段代码-------------JS-------------因为jisu有多少行不一定的,我现在就只能2行 if(jisu==2 ),如果还要多必须 if(jisu==3 ) 这么一直这么写下去,那代码太多了,想写个JS循环,可不会写,麻烦帮下忙------------------------------
function jij(jiaj)
var jisu=document.getElementsByName("jshul")[0].value; //获得有几行数据
if(jisu==1 ) //如果有1行数据
var ls1=document.getElementsByName("danj1")[0].value; //单价
var ls2=document.getElementsByName("shu1")[0].value; //数量
var ls3=document.getElementsByName("jin1")[0].value; //金额
document.getElementsByName("jin1")[0].value = ls1*ls2; //1第一笔金额
document.getElementsByName("gzzong")[0].value = ls1*ls2; //全部合计
if(jisu==2 ) //如果有1行数据
var ls1=document.getElementsByName("danj1")[0].value; //单价
var ls2=document.getElementsByName("shu1")[0].value; //数量
var ls3=document.getElementsByName("jin1")[0].value; //金额
var ls4=document.getElementsByName("danj2")[0].value; //单价
var ls5=document.getElementsByName("shu2")[0].value; //数量
var ls6=document.getElementsByName("jin2")[0].value; //金额
document.getElementsByName("jin1")[0].value = ls1*ls2; //1第一笔金额
document.getElementsByName("jin2")[0].value = ls2*ls2; //2第一笔金额
document.getElementsByName("gzzong")[0].value = ls1*ls2+ls2*ls2; //全部合计
var jishu=document.getElementsByName("jshul")[0].value; //获得有几行数据
var count=0,i=0;
for (i=0;i<jishu;i++)
var ls1=document.getElementsByName("danj"+ (i+1))[0].value; //单价
var ls2=document.getElementsByName("shu"+ (i+1))[0].value; //数量
var ls3=document.getElementsByName("jin"+ (i+1))[0].value; //金额
document.getElementsByName("jin"+ (i+1))[0].value = ls1*ls2; //第i笔金额
count+=ls1*ls2;
document.getElementsByName("gzzong")[0].value = count; //全部合计
好好学,你这个本身就效率不高,逻辑也不清楚
参考技术A var jisu=document.getElementsByName("jshul")[0].value; //获得有几行数据var heji=0;
for(var i=1;i <= jisu; i ++)
var dj = document.getElementsByName("danj"+i)[0].value;//单价
var sl=document.getElementsByName("shu"+i)[0].value; //数量
var je = parseFloat(dj)*parseFloat(sl);
heji += je;
document.getElementsByName("gzzong")[0].value = heji; //全部合计
帮忙小小的修改一下JS代码,关于倒计时的。
源代码如下 <html> <body> <input type="button" id="btn" value="免费获取验证码" /> <script type="text/javascript"> var wait=60; function time(o) if (wait == 0) o.removeAttribute("disabled"); o.value="免费获取验证码"; wait = 60; else // www.jbxue.com o.setAttribute("disabled", true); o.value="重新发送(" + wait + ")"; wait--; setTimeout(function() time(o) , 1000) document.getElementById("btn").onclick=function()time(this); </script> </body> </html> 改动要求: 初始值就是60秒倒计时,这个代码初始值是没有变灰的可按下按钮。 秒数没到刷新后又可按下了,这不是我想要的结果。 2.如果可以,最好使代码倒计时不受刷新影响,看网上说要存cooking什么的,这个我也不太懂,列为可选项。 求大神解答!好的追加高分!
参考技术A 存cookie的,人家一清除你照样没有了,存localstorage的话,兼容性更是个问题,告诉你哦,唯一解决的办法就是传递数据给后台,后台返回标记给前台,表示已经完成倒计时,这个才是最佳的选择,这个是前台脚步js无法做到的,好不好,你的后台是什么,自己斟酌好不好,就这样,采纳就对了。 参考技术B 如果你用的这些代码,刷新后肯定会重新加载。变量啥的都会初始化,用了cookie可以在刷新离开页面的时候存入cookie,然后载入判断cookie的值是否为初始值,不为初始值继续读秒
。
以上是关于JS是新手,请帮忙关于JavaScript循环的问题的主要内容,如果未能解决你的问题,请参考以下文章