【发布时间】:2010-10-10 12:58:08
【问题描述】:
我在 javascript 中有一个倒数计时器,它由使用 asp.net VB 的代码调用。我找不到跟踪时间的方法,。
问题是,我无法获得回发后经过的时间,因此计时器会继续滴答作响。你能帮我吗,。??我真的很感激。,
这是我的代码片段:
asp.net VB 代码隐藏
on page load{
If Page.IsPostBack = True Then
ClientScript.RegisterClientScriptBlock(Me.GetType, "timer_script",
"<script language='javascript'>function mySubmit()</script>")
ClientScript.RegisterStartupScript(Me.GetType, "timer_script",
"<script>countdown_clock();</script>")
End If
If Page.IsPostBack = false Then
TimerTxtbx.Text = "00:06:10" 'hour:min:sec -> initialize timer
ClientScript.RegisterClientScriptBlock(Me.GetType, "timer_script",
"<script language='javascript'>function mySubmit()</script>")
ClientScript.RegisterStartupScript(Me.GetType, "timer_script",
"<script>countdown_clock();</script>")
End If
}
on button click{
NextBtn.Attributes.Add("onclick", "mySubmit()") 'call a javascript function
ClientScript.RegisterStartupScript(Me.GetType, "timer_script",
"<script>countdown_clock();</script>")
}
javascript代码:
function mySubmit()
{
document.getElementById('TimerTxtbx').removeAttribute('disabled');
}
function countdown_clock()
{
var current_time;
current_time = document.getElementById('TimerTxtbx').value;
var hours = current_time.substring(0,2);
var minutes = current_time.substring(3,5);
var seconds = current_time.substring(6,8);
var n_seconds;
var n_minutes = minutes;
var n_hours = hours;
if (seconds == 0)
{
n_seconds = 59;
if (minutes == 0)
{
n_minutes = 59;
if (hours == 0){
alert('Time is up');
return;
}
else{
n_hours = hours - 1;
if (n_hours < 10)
n_hours = "0" + n_hours;
}
}
else
{
n_minutes = minutes - 1;
if (n_minutes < 10)
n_minutes = "0" + n_minutes;
}
}
else
{
n_seconds = seconds - 1;
if (n_seconds < 10)
n_seconds = "0" + n_seconds;
}
document.getElementById('TimerTxtbx').value = n_hours + ':' + n_minutes + ':' + n_seconds;
setTimeout("countdown_clock()",1000); //function call and delay by 1sec
document.getElementById('TimerTxtbx').setAttribute('disabled','disabled');
}//end function
【问题讨论】:
-
您遇到的问题到底是什么,是否在回发时保持时间不变?你放在那里的代码对我来说是初始页面加载,而不是在回发中。
-
是的,!这实际上是问题所在。,我无法得到回发后经过的时间。你能帮帮我吗?,?
-
很抱歉,如果我在第一次发布我的代码时没有详细说明,。你的算法和我的算法是一样的(^_^),。你可以再看看我的帖子,。我已编辑 (^_^),.
-
你很接近,检查我更新的解释。我认为这应该可以为您解决问题,如果确实如此,请务必将问题标记为已回答。
标签: asp.net javascript