Repeater中使用倒计时
<asp:Label ID="lblTime" runat="server" Text='<%# FormatDateString(Eval("OrderDate").ToString(),(Orders)Container.DataItem) %>'></asp:Label>
JS部分:
/*将列表控件中的"id=lblTime"的控件html转换成页面效果*/
function clockon() { var Elements = document.getElementsByTagName("span");
for (i = ; i < Elements.length; i++) {
var el = Elements[i];
if (el.id.indexOf('lblTime') >= ) { var id = el.id;
var source = $("#" + id).html(); if (source != "") {
var arr = new Array();
arr = source.split(","); var now = new Date();
var year = now.getFullYear(); //getFullYear getYear
var month = now.getMonth();
var date = now.getDate();
var day = now.getDay();
var hour = now.getHours();
var minu = now.getMinutes();
var sec = now.getSeconds(); var day1 = new Date(arr[]); /*到倒计时的日期*/
var H1 = parseInt(arr[]); /*到倒计时的日期指定的几点*/
var M1 = parseInt(arr[]); /*到倒计时的日期几份*/
var S1 = parseInt(arr[]); /*到倒计时的日期几秒*/ ms = Math.floor((day1 - now) / ) /*到指定的那天0点0分0秒所剩下秒数*/ H2 = Math.floor(ms / )
M2 = Math.floor((ms - H2 * ) / )
S2 = ms - H2 * - M2 * + S = S2 + S1
M = M1 + M2
H = H2 + H1 if (S > ) M = M + ;
if (S > ) S = S - ;
if (M > ) H = H + ;
if (M > ) M = M - ;
if (H >= ) {
time2 = "抢购商品剩余支付时间:<br/>" + H + "小时" + M + "分" + S + "秒<br/>";
$("#" + id).html(time2);
//开始倒计时
countdown(source, id);
}
else {
$("#" + id).hide();
$("#" + id).html("活动已结束");
}
}
else {
$("#" + id).hide();
$("#" + id).html("活动已结束");
}
}
}
}
//source:到期时间格式(MM/DD/YYYY/,HH,MM,SS);id:控件ID
function countdown(source, id) {
var arr = new Array();
arr = source.split(","); var now = new Date();
var year = now.getFullYear(); //getFullYear getYear
var month = now.getMonth();
var date = now.getDate();
var day = now.getDay();
var hour = now.getHours();
var minu = now.getMinutes();
var sec = now.getSeconds(); var day1 = new Date(arr[]); /*到倒计时的日期*/
var H1 = parseInt(arr[]); /*到倒计时的日期指定的几点*/
var M1 = parseInt(arr[]); /*到倒计时的日期几份*/
var S1 = parseInt(arr[]); /*到倒计时的日期几秒*/ ms = Math.floor((day1 - now) / ) /*到指定的那天0点0分0秒所剩下秒数*/ H2 = Math.floor(ms / )
M2 = Math.floor((ms - H2 * ) / )
S2 = ms - H2 * - M2 * + S = S2 + S1
M = M1 + M2
H = H2 + H1 if (S > ) M = M + ;
if (S > ) S = S - ;
if (M > ) H = H + ;
if (M > ) M = M - ;
if (H >= ) {
time2 = "抢购商品剩余支付时间:<br/>" + H + "小时" + M + "分" + S + "秒<br/>";
$("#" + id).html(time2);
var timer = setTimeout("countdown('" + source + "','" + id + "')", );
}
else {
$("#" + id).hide();
}
}
后台部分:
需要传入一个结束时间到前台
/// <summary>
/// 设置前台日期格式显示
/// </summary>
/// <param name="string">结束日期时间</param>
/// <returns></returns>
public string FormatDateString(string dateString, SecondDie model)
{
string result = ""; if (model.SencondNum > )
{
string EndDate = DateTime.Parse(dateString).ToString("yyyy-MM-dd HH:mm:ss"); string year = EndDate.Substring(, );
string month = EndDate.Substring(, );
string day = EndDate.Substring(, ); string hour = EndDate.Substring(, );
string minute = EndDate.Substring(, );
string second = EndDate.Substring(, ); result = month + "/" + day + "/" + year + "," + hour + "," + minute + "," + second;
} return result;
}
OK! 至此结束
Repeater中使用倒计时的更多相关文章
- Android开发案例 – 在AbsListView中使用倒计时
在App中, 有多种多样的倒计时需求, 比如: 在单View上, 使用倒计时, 如(如图-1) 在ListView(或者GridView)的ItemView上, 使用倒计时(如图-2) 图-1 图-2 ...
- 在Repeater中嵌套使用Repeater
在一般的网站中浏览类别的用户控件通常都位于大多数 ASP.NET 页的左边,它使用户能够按类别快速的查找产品.最近遇到一个客户,因为在他网站上展示的产品并不多,所以要求在原有类别浏览的基础上将产品也加 ...
- repeater中后台动态为控件添加属性
在此贴出repeater中的ItemDataBound事件中的代码: private void ItemDataBound(object sender, RepeaterItemEventArgs e ...
- 关于在repeater中的checkbox实行多选和全选
今天项目中用到这一块,是一个b2b商城,业务是别人给客户留言后,客户从会员中心的留言管理中查看,用checkbox实行多选和全选后进行批量审核 首先在checkbox后加个hidden,作用见代码: ...
- (转)在Repeater中嵌套使用Repeater
在一般的网站中浏览类别的用户控件通常都位于大多数 ASP.NET 页的左边,它使用户能够按类别快速的查找产品.最近遇到一个客户,因为在他网站上展示的产品并不多,所以要求在原有类别浏览的基础上将产品也加 ...
- 关于Repeater中绑定的控件不触发ItemCommand事件
今天遇到 在repeater 中使用一个button,点击button然后跳转另外一个页面. html. <asp:Repeater ID="repeater" runat= ...
- Webfrom 生成流水号 组合查询 Repeater中单选与复选控件的使用 JS实战应用
Default.aspx 网页界面 <%@ Page Language="C#" AutoE ...
- 关于Repeater中使用DorpWownList的问题
关于Repeater中使用DorpWownList的问题 前台: <asp:Repeater ID="Repeater1" runat="server" ...
- Webfrom 生成流水号 组合查询 Repeater中单选与复选控件的使用 JS实战应用
Default.aspx 网页界面 <%@ Page Language="C#" AutoE ...
随机推荐
- 1602A液晶
液晶显示屏中,1602型算是比较简单的一种,据说和12864还是全兼容的.这两天学习的结果如下.一.1602里的存储器有三种:CGROM.CGRAM.DDRAM.CGROM保存了厂家生产时固化在LCM ...
- 利用STM32F唯一96bit序列号实现反拷贝加密的源代码公开(转)
源:利用STM32F唯一96bit序列号实现反拷贝加密的源代码公开 //---------------------------------------------------------------- ...
- [Angular Tutorial] 14 -Animations
在这一步中,我们将会通过在我们先前创建的模板代码中添加CSS和JavaScript动画效果来扩展我们的web应用. ·我们现在使用ngAnimate模块来允许动画效果贯穿整个应用. ·我们也依赖于自带 ...
- [转python 父类可以调用子类的方法
问题描述:我也是在读500 Line 里满的DBDB 的代码时发现的,python的父类可以调用子类的方法,这跟平常习惯的理解方式很不一样,所以就查了下原因,记录如下: 1.现象:最近使用到了So ...
- python 自动化运维项目_目录
微信小程序监控界面 CMDB 跳板机 代码上线系统 网站用户访问质量监测 分布式监控 Docker自动化管理平台 Openstack二次开发
- 用JS添加文本框案例代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Selenium2(java)TestNG的使用 七
TestNG,即Testing Next Generation,下一代测试技术,是一套根据JUnit和NUnit思想而构建的利用注释来强化测试功能的一个测试框架,即可以用来做单元测试,也可以用来做 ...
- thinkPHP 视图
一.模板的使用 a.规则 模板文件夹下[TPL]/[分组文件夹/][模板主题文件夹/]和模块名同名的文件夹[Index]/和方法名同名的文件[index].html(.tp ...
- android 类似QQ底部输入框弹出键盘和面板冲突 布局闪动处理方案(转)
先看下效果 差不多就是解决这种冲突,布局闪动的 作者的githup :https://github.com/Jacksgong/JKeyboardPanelSwitch Android键盘面板冲突 布 ...
- js验证IP及子网掩码的合法性
function checkIP(ip) { obj=ip; var exp=/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0 ...