| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1541 人关注过本帖
标题:求高手解答计时器
只看楼主 加入收藏
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
结帖率:97.66%
收藏
已结贴  问题点数:20 回复次数:3 
求高手解答计时器
因为我不会JS~所以我直接从网路上的网页撷取网页代码~过滤出我要的功能~
代码原功能是~计时5分钟~每5分钟跳出警示视窗~使用者须确认~有确认时间以5分钟为一个单位累计~
没确认网页强制关闭~最后得出总阅读时数~

1.我把每5分钟为一单位的功能去除~因为我目前用不到~
  但是我看不懂后面的以5分钟为一单位的总时间累计部分~要如何修改?

2.当离开此页面时~要如何取得当下阅读总时数~让我记录到数据库中?
  请高手给点提示~

程序代码:
<script>
  var isSaved=0; //是否已储存
  var iSeconds=0;  //阅读秒数
  //var iPeriodSec = 300; //?秒后显示提示讯息
  var iSaveCheckSec=30;
  var iGoingSec= 0; //重复读取秒数
  var myVar;
  var cTime; 
      EnableTimer(); 
    function EnableTimer()
    {
        myVar = setInterval(function(){Timer()},1000);
    }
    function SuspendTimer()
    {
      clearInterval(myVar);
    }                     
    function Timer()
    {          
        iSeconds=iSeconds+1;
      var minutes = Math.floor(iSeconds  / 60);
      var secs = iSeconds - (minutes * 60);
      var sTime;  //阅读时间
          if (secs < 10){
            secs = "0" + secs
        }
        if (minutes < 10){
          minutes = "0" + minutes
        }          
        sTime= minutes + ":" + secs
        document.getElementById("TimerText").innerHTML=sTime;
        //if (iSeconds % iPeriodSec ==0){
        //    SuspendTimer();
        //  AddTimeOut(); 
        //  DxPCConfirm.Show();             
        //}           
      };
      function CancelTimeOut()
      {
          clearTimeout(cTime);
      };
      function AddTimeOut()
      {
          cTime=setTimeout(function(){ SaveReadingTime('Normal');} ,30000);
      };
      function SaveReadingTime(sMode)
      { 
          if (isSaved==0 && iSeconds>=iSaveCheckSec){            
            if (sMode=='Normal'){     
              isSaved=1;  
            DxCBSaveReadTime.PerformCallback(sMode + '|' + (iSeconds-iGoingSec)); 
          }else if(sMode=='OnGoing'){
              isSaved=0;  
            iGoingSec =iGoingSec + iPeriodSec;
            DxCBSaveReadTime.PerformCallback(sMode + '|' + iPeriodSec); 
          }
        }
      };
      window.onbeforeunload  = function (evt) { 
          SuspendTimer();
           SaveReadingTime('Normal'); 
      }         
</script>
<div>
    <table>
        <tr>
            <td>
                  <span id="ctl00_ContentPlaceHolder_Label1">阅读时间:</span>
            </td>
            <td id="TimerText">
                
            </td>
        </tr>
     </table>
</div>



搜索更多相关主题的帖子: 数据库 网页 如何 记录 计时器 
2017-06-19 14:47
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
收藏
得分:0 
就差一步〜写回数据库〜这部分就完成了〜
图片附件: 游客没有浏览图片的权限,请 登录注册

不要選我當版主
2017-06-19 16:03
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
收藏
得分:0 
昨天发现VS有Timer控件,或许可以拿来替代看不懂的JS Code。

不要選我當版主
2017-06-20 10:20
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:20 
显示动态时间的话
程序代码:
js:
    setInterval(function(){
                var newDate=new Date();
                var year=newDate.getFullYear();
                var month=newDate.getMonth();
                var day=newDate.getDay();
                var hours=newDate.getHours();
                var minuts=newDate.getMinutes();
                var seconds=newDate.getSeconds();
                $("#t").html(year+"-"+month+"-"+day+" "+hours+":"+minuts+":"+seconds);
            },200);

html:

    <span id="t"></span>

剑栈风樯各苦辛,别时冰雪到时春
2017-06-20 13:20
快速回复:求高手解答计时器
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018520 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved