2 my 00 my_00 于 2016.04.21 22:05 提问

jsp 页面显示问题:spans[i].innerHTML=msg不显示什么原因?在线等!谢谢啦!!

jsp 页面显示问题:spans[i].innerHTML=msg;不显示;spans[0~4].innerHTML=msg;显示!什么原因?在线等!谢谢啦!!

 <script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-1.8.3.js"></script>
<script type="text/javascript">
onload=function(){
    var ordertime;
    var timer;
    var inputs = $(".input");
    var spans = $(".span");
    var nowtime;
    var minutes;
    var seconds;
    var msg;
    var size=inputs.size();
    for(var i = 0;i<size;i++){
        //alert(size);
        ordertime = inputs[i].value;
        ordertime=ordertime.replace("-","/");
        ordertime=ordertime.replace("-","/");
        ordertime=new Date(ordertime);
        nowtime=new Date();
        //alert();
        maxtime = (ordertime.getTime()-nowtime.getTime())/1000+30*60;
        timer = setInterval( function CountDown(){ 
             if(maxtime>=0){  
                minutes = Math.floor(maxtime/60);  
                seconds = Math.floor(maxtime%30);  
                msg = "距离结束还有"+minutes+"分"+seconds+"秒";  
                // alert(msg);
                spans[i].innerHTML=msg;
                 //document.getElementById("timer").innerHTML=msg;  
                 if(maxtime == 5*30) alert('注意,还有5分钟!');  
                 --maxtime;  
                 }  
                 else{  
                 clearInterval(timer);  
                 alert("时间到,结束!");  
                 }  
                 },1000);
    }
};
</script>

2个回答

danielinbiti
danielinbiti   Ds   Rxr 2016.04.21 23:28
 参数不对,
 spans[i].innerHTML这里运行的时候i已经是size的值了,定时部分用闭包解决变量冲突问题。setInterval用setTimeout
 (function(i,maxtime){
           var CountDown = function(){ 
             if(maxtime>=0){  
                minutes = Math.floor(maxtime/60);  
                seconds = Math.floor(maxtime%30);  
                msg = "距离结束还有"+minutes+"分"+seconds+"秒";  
                // alert(msg);
                spans[i].innerHTML=msg;
                 //document.getElementById("timer").innerHTML=msg;  
                 if(maxtime == 5*30) alert('注意,还有5分钟!');  
                 --maxtime;  
                 setTimeout(CountDown ,1000);
              }  
                 else{  
                 console.log("时间到,结束!");  
                 }  
                 }
           setTimeout(CountDown  ,1000);
        }(i,maxtime));
caozhy
caozhy   Ds   Rxr 2016.04.21 22:09

写在onready里看看,onload可能一些html元素还没有加载

my_00
my_00 spans[i].innerHTML=msg; i=0~4...可以显示 但是计时的秒数有问题,乱了?
大约 2 年之前 回复
my_00
my_00 onready是这样吗?$(document).ready(function(){}
大约 2 年之前 回复
my_00
my_00 spans[i].innerHTML=msg; i=0~4...可以显示
大约 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
js进行表单验证函数中innerHTML显示不出来
由于把 document.getElementById("name").value;写成了document.getElementById("name"),所以并没有获取到text中的值,初学者的悲哀,找了一个多小时才找到错的地方。     pageEncoding="utf-8"%> 用户注册   var name; var url; function check(
Servlet实现JSP页面显示在线人数
摘要:这篇文章主要针对有一定jsp编程经验和Servlet基础的爱好者如何网页中实现在线人数统计。 1、编写并编译sessioncounter.java ,代码如下: /**  * 编写以下sessioncounter.java  * 并编译为sessiioncounter.class  * 然后放到你的
jsp页面显示空白的原因
1、 jsp编译的jar包版本的问题,要编译的jsp版本和包补匹配。  2、 3、 lib中的jsp-api.jar在作怪,这个jar已经不知道是从何而来的了更不知道版本号,好像是从Spring2.0m5的  dependency lib中拷过来的。可能是里面的jsp-api和我的tomcat5.5不太兼容吧  4、一个查询的jsp页面,点击后是空白页面,再次点击显示正常。但有
在jsp页面判断如果有信息就提示,否则不提示
if("${msg}"!=""){ alert("${msg}"); }
jsp页面显示不全问题
1、页面标签是否闭合 2、页面是否出现js jquery混用情况例如:(ducument.getElementId("#id") 和 $("#id")混用) 3、看tomcat内存是否够用如下: 4、如果考虑服务器端集群的话看看是不是 nginx的反向代理是不是限制了页面的数据长度。这个是大拿说的没试过怎么用。 5、后端报错 排错方法:如果怀疑页面有问题,则将页面
html 中文乱码问题解决办法
把鼠标移到上面 function mOver(obj) { obj.innerHTML="谢谢" } function mOut(obj) { obj.innerHTML="把鼠标移到上面" }
关于jsp中用css无法显示背景图片的问题
如果你遇到了用jsp无法显示图片的问题,我想你在css中应该是这样写的 body { background-image: url(/images/cloud.png); } 这样肯定是不行的,解决方法: body { background-image: url(../images/cloud.png); } 成功解决!!
SpringMVC中JSP页面不显示EL表达式的原因
本文分析在Spring MVC开发中, JSP页面不显示EL表达式的原因
如何让innerHTML 不对&lt 转义
问题: xx.innerHTML="&gt;"网页上输出> 我希望&gt;就输出&gt; 解决方案: 在innerHTML 赋值前,对字符串,进行如下处理: var tagsToReplace = { '&': '&amp', '<': '&lt', '>': '&gt' }; function replaceTag(tag) { return t
innerHtml用法
innerHtml用法function Test(){        var str="";        str+="Hello,";        str+="This is a Test!";        str+="I Love you;";        str+="I Love you,too!";        p.innerHTML=str+""+Math.rando