PDA

View Full Version : جبوگیری از تداخل timer



iranajax
جمعه 29 آذر 1392, 12:06 عصر
من توی صفحه وبم یک تایمر گذاشتم برای درست کردن یه ساعت دیجیتال اما این تایمر روی سایر کنترل های AJAX صفحه مثل DROPDOWN LIST ها تاثر میذاره و باعث میشه نزاره درست کار کنن باید چکار کنم که تایمر ایزوله بشه

ali.n93
جمعه 29 آذر 1392, 13:49 عصر
این روش برای نشون دادن ساعت اصلا مناسب نیست. چون مرتب باید اطلاعات به سرور ارسال بشه و برگرده. فرض کن میخوای ساعت رو توی Label1 نشون بدی.
اول توی پیج لود ساعت رو بخون(کد زیر)


protected void Page_Init(object sender, EventArgs e)
{

string h, m, s;
h = DateTime.Now.Hour.ToString().PadLeft(2, '0');
m = DateTime.Now.Minute.ToString().PadLeft(2, '0');
s = DateTime.Now.Second.ToString().PadLeft(2, '0');
Label1.Text = h + ":" + m + ":" + s;
}


بعدش کد جاوااسکریپت زیر رو استفاده کن

<script>
var s_time = setInterval(function () { timer() }, 1000);
function timer() {
var l = document.getElementById("<%= Label1.ClientID %>");
var a = l.innerHTML;
var h = parseInt(a.substring(0, 2),10);
var m = parseInt(a.substring(3, 5), 10);
var s = parseInt(a.substring(6), 10);
s++;
if (s == 60) {
s = 0;
m++;
}
if (m == 60) {
m = 0;
h++;
}
if (h == 24)
h = 0;
var h2 = h.toString();
var m2 = m.toString();
var s2 = s.toString();
if (h < 10)
h2 = '0' + h.toString();
if (m < 10)
m2 = '0' + m.toString();
if (s < 10)
s2 = '0' + s.toString();
l.innerHTML = h2 + ':' + m2 + ':' + s2;

}
</script>