asp.net+javascript倒计时
2013-12-22 21:18
405 查看
asp.net+javascript倒计时
经常我们会使用商品秒杀倒计时等时间计算功能,很多时候直接使用客户端时间计算,如果客户端时间不准,给客户带来一些困扰。为此重新写了一个倒计时模块,顺便做个备案。
功能实现思路:
1、后端代码得到服务器当前时间与到期时间,然后计算出时间差秒数,传递到前台。
2、前端计算出天数、小时、分钟、秒,然后显示到前台,并每秒自动更新一次。
后端代码如下:
View
Code
1 using System; 2 using System.Collections.Generic; 3 using System.Web; 4 using System.Web.UI; 5 using System.Web.UI.WebControls; 6 7 public partial class _Default : System.Web.UI.Page 8 { 9 public int timeStamp = 0; 10 protected void Page_Load(object sender, EventArgs e) 11 { 12 13 DateTime nowTime = DateTime.Now; 14 DateTime endTime = new DateTime(2013, 4, 5, 12, 45, 23); 15 16 TimeSpan ts1 = new TimeSpan(nowTime.Ticks); 17 TimeSpan ts2 = new TimeSpan(endTime.Ticks); 18 double ts = ts2.Subtract(ts1).TotalSeconds; 19 timeStamp = Convert.ToInt32(ts); 20 } 21 }
前端代码如下:
View
Code
1 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 2 3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 4 5 <html xmlns="http://www.w3.org/1999/xhtml"> 6 <head runat="server"> 7 <title></title> 8 </head> 9 <body> 10 <form id="form1" runat="server"> 11 <div id="time"> 12 13 </div> 14 </form> 15 <script type="text/javascript"> 16 (function () { 17 var diffDate = < %= timeStamp % > ; 18 var _time = null; 19 20 function refTime() { 21 if (diffDate <= 0) { 22 document.getElementById("time").innerHTML = "已经过期"; 23 if (_time != null) { 24 clearInterval(_time); 25 } 26 return; 27 } 28 var days = Math.floor(diffDate / (24 * 3600)); 29 var leave1 = diffDate % (24 * 3600); 30 var hours = Math.floor(leave1 / (3600)); 31 var leave2 = leave1 % (3600); 32 var minutes = Math.floor(leave2 / (60)); 33 var leave3 = leave2 % (60); 34 var seconds = Math.round(leave3); 35 var _html = ""; 36 if (days > 0) { 37 _html += days + "天"; 38 } 39 if (hours > 0) { 40 _html += hours + "时"; 41 } 42 if (minutes > 0) { 43 _html += minutes + "分"; 44 } 45 _html += seconds + "秒"; 46 document.getElementById("time").innerHTML = _html; 47 diffDate--; 48 } 49 _time = setInterval(function () { 50 refTime() 51 }, 1000); 52 refTime(); 53 })(); 54 55 </script> 56 </body> 57 </html>
相关文章推荐
- ASP.NET实现javascript无刷新倒计时
- asp.net中倒计时自动跳转页面的实现方法(使用javascript)
- asp.net中实现倒计时自动跳转页面(运用javascript)
- asp.net中倒计时自动跳转页面的实现方法(使用javascript)
- ASP.NET倒计时两种方式 使用Timer控件和JavaScript代码
- javascript倒计时跳转(调用asp.net变量url)
- 使用Javascript,CSS和Ajax创建ASP.NET自定义控件
- ASP.NET AJAX学习记要(2)-下手之JavaScript
- Using JavaScript and CSS to Enhance Your ASP.NET Datagrid
- [转] ASP.NET中使用javascript
- Asp.net AJAX JavaScript 基本类型扩展(1)——Array类型及其扩展
- asp.net为按钮绑定javascript确认事件
- 本周ASP.NET英文技术文章推荐[03/02 - 03/15]:ASP.NET AJAX、LinqDataSource、ListView、MVC、JavaScript、智能感知、Ext、CAPTCHA
- ASP.NET的SEO: 服务器控件背后——SEO友好的Html和JavaScript (3)
- JavaScript 和asp.net配合编码字符串
- asp.net中常用javascript脚本输出的辅助类JScript
- asp.net中的服务器端控件 textbox 设为只读属性后无法获取 javascript给其赋的值
- asp.net中窗口相关操作总结(javascript)
- ASP.NET和JavaScript传值
- JavaScript组件之JQuery(A~Z)教程(基于Asp.net运行环境)[示例代码下载]