js计时器问题

千分 2012-12-26 02:29:20
页面上一个计时器,不停的计时,如果鼠标过了十分钟不懂就停止计时,如果窗口最小化停止计时,鼠标不在当前窗口停止计时
...全文
105 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
千分 2012-12-26
  • 打赏
  • 举报
回复
现有的js代码感觉很不对

var intervalId = 0;	//计时器
 var xy = "";
$(document).ready(function () {
    $(document).mousemove(function (e) {
	   xy = e.screenX + ":" + e.screenY;
	 });
     $(document).mouseover(function(){
       // xy = e.screenX + ":" + e.screenY;
        intervalId=window.setInterval("TimeGo()", "1000");
     });
//  setInterval("getCommentList()", "10000");
});
var ss=0, mm=0, hh=0; //申明秒、分、时变量并赋初始值
var studyTime=0;
var locations = "";
var Pre_Time = 2000;
var time = 0;
var _time = Pre_Time;
 function TimeGo() {
 if (locations == xy) {
	            time++;
	            _time--;
	            if (time > Pre_Time) {
               // alert("离开时间:" + time);
			   clearInterval(intervalId);
	            }
	            else {
                  TimeAdd();               
	           }
	     }
   else{
       if (time > Pre_Time) {
	       alert("离开时间:" + time);
	    }
         
       time = 0;
       locations = xy;
        _time = Pre_Time;
        TimeAdd();
     
   }

}
function TimeAdd()
{
      ss++; //秒值以1为单位递增   
        if(ss>=60) { //当秒数大于等于60     
          mm+=1; //分钟加1      
          ss=0; //秒数退回0   
        }   
       if(mm>=60) { //当分钟大于等于60      
          hh+=1; //小时数加1      
          mm=0; //分钟数退回0   
        }
        ss_str = (ss < 10 ? "0" + ss : ss); //格式化秒数
        mm_str = (mm < 10 ? "0" + mm : mm); //格式化分钟数
        tMsg = "在线学习: " + hh + "小时" + mm_str + "分" + ss_str + "秒"; //输出的字串
        document.getElementById("stime").innerHTML = tMsg; //在文档中id号为stime的容器中输出结果
      //  setTimeout( "TimeGo()",1000); //每一秒钟执行一次函数自身
}

87,923

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧