2017-03-20 7 views
0

안녕하세요, 제발 자바 스크립트와 함께 asp.net C#에서 카운트 다운 타이머를 구현하는 방법에 대한이 게시물을 보았습니다. 이 게시물의 링크는 https://forums.asp.net/t/1291427.aspx?how+to+create+a+countdown+timer+using+C+and+ASP+NET+AJAX입니다. 나는 아직 그것을 내 프로그램에 맞게 완전히 수정하고있다. 내 프로그램은 지불을 위해 가입 한 후 즉시 사용자에게 30 분을 제공하는 것이지만 나는 갇혀있다. 0 일 00:00:00에 카운트 다운 타이머를 중지하고 서버 측 또는 클라이언트 측에서 데이터베이스 작업을 수행하려면 30 분 간격 후에 타이머가 음수가되도록하고 싶습니다.자바 스크립트와 함께 asp.net vb.net의 카운트 다운 타이머

var leave = <%=seconds%> 
    CounterTimer(); 
    var interv=setInterval(CounterTimer,1000); 
    function CounterTimer() 
    { 
     var day = Math.floor(leave/(60 * 60 * 24)) 
     var hour = Math.floor(leave/3600) - (day * 24) 
     var minute = Math.floor(leave/60) - (day * 24 *60) - (hour * 60) 
     var second = Math.floor(leave) - (day * 24 *60*60) - (hour * 60 * 60) - (minute*60) 


     hour=hour<10 ? "0" + hour : hour; 
     minute=minute<10 ? "0" + minute : minute; 
     second=second<10 ? "0" + second : second; 


     var remain=day + " days "+hour + ":"+minute+":"+second; 
     leave=leave-1; 


     document.getElementById("timelabel").innerText=remain; 
     if (minute == 0 & second == 0) { 
      return; 
     } 

    } 

public double seconds; 
protected void Page_Load(object sender, EventArgs e) 
{ 
    seconds = (GetEndTime() - GetStartTime()).TotalSeconds; 


} 
private DateTime GetStartTime() 
{ 
    return DateTime.Now; 
} 
private DateTime GetEndTime() 
{ 
    return new DateTime(2008, 7, 23, 8, 10, 0); 
} 

답변

0

난 당신이 코드를 원한다고 생각 : 이 내가 가지고있는 코드입니다.

function CounterTimer() { 
     var day = Math.floor(leave/(60 * 60 * 24)) 
     var hour = Math.floor(leave/3600) - (day * 24) 
     var minute = Math.floor(leave/60) - (day * 24 * 60) - (hour * 60) 
     var second = Math.floor(leave) - (day * 24 * 60 * 60) - (hour * 60 * 60) - (minute * 60) 


     hour = hour < 10 ? "0" + hour : hour; 
     minute = minute < 10 ? "0" + minute : minute; 
     second = second < 10 ? "0" + second : second; 


     var remain = day + " days " + hour + ":" + minute + ":" + second; 
     leave = leave - 1; 


     document.getElementById("timelabel").innerText = remain; 
     if (minute == 0 & second == 0) { 
      (i think better safety minute. <= 0 & second <= 0) 
      *clearInterval(interv);* 
     } 

    }