日期:2014-05-17  浏览次数:20450 次

Jquery实现倒计时效果,毫秒转分钟问题

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<title>Jquery实现倒计时效果</title>
<script type="text/javascript" src="./Jquery/jquery.js"></script>
<script type="text/javascript">
 var SysSecond;
 var InterValObj;
 $(document).ready(function() {
  SysSecond = parseInt($("#remainSeconds").html()); //这里获取倒计时的起始时间
  InterValObj = window.setInterval(SetRemainTime, 1000); //间隔函数,1秒执行
 });
 
 //将时间减去1秒,计算分、秒
 function SetRemainTime() {
  if (SysSecond > 0) {
   SysSecond = SysSecond - 1;
   var second = Math.floor(SysSecond % 60);             // 计算秒     
   var minite = Math.floor((SysSecond / 60) % 60);      //计算分
 
   $("#remainTime").html( minite + "分" + second + "秒");
  } else {//剩余时间小于或等于0的时候,就停止间隔函数
   window.clearInterval(InterValObj);
   //这里可以添加倒计时时间为0后需要执行的事件
  }
 }
</script>
 
</head>
 
<body>
     
<div id="remainSeconds" style="display:none">3600000</div>
<div id="remainTime" style="font-size:40px;font-weight:800;color:#FF9900"></div>
 
</body>
</html> 




 var minite =Math.floor((SysSecond / 60) `); //计算分
这个是不是有问题啊,我输入10分钟也就是600000毫秒
 经过计算var minite =Math.floor((600000/ 60) `);
为什么minite却等于40分钟啊,而且输入其它的如:7、9、1等也有问题,算出来的分钟完全不对
------解决方案--------------------
运行你的代码,没问题- -
------解决方案--------------------

/* by zhangxinxu 2010-07-27 
* http://www.zhangxinxu.com/
* 倒计时的实现
*/
var fnTimeCountDown = function(d, o){
var f = {
zero: function(n){
var n = parseInt(n, 10);
if(n > 0){
if(n <= 9){
n = "0" + n;
}
return String(n);
}else{
return "00";
}
},
dv: function(){
d = d 
------解决方案--------------------
 Date.UTC(2050, 0, 1); //如果未定义时间,则我们设定倒计时日期是2050年1月1日
var future = new Date(d), now = new Date();
//现在将来秒差值
var dur = Math.round((future.getTime() - now.getTime()) / 1000) + future.getTimezoneOffset() * 60, pms = {
sec: "00",
mini: "00",
hour: "00",
day: "00",
month: "00",
year: "0"
};
if(dur > 0){
pms.sec = f.zero(dur % 60);
pms.mini