求一个设置好预定时间的倒计时的提示小插件代码

laoyingisme 2010-04-06 03:53:10
最好用JS写的,为server减免负担。
谢谢。
...全文
144 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
周公 2010-04-06
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 laoyingisme 的回复:]

再谢1楼,功能已经实现,但我想要以插件的形式。
我是想做一个用户提示的插件
[/Quote]
你应该在感谢一下1楼,建议1楼帮你领工资,帮你学习,甚至帮你吃饭睡觉,这样你更轻松了。
我相信如果是一个肯动手动脑的人在1楼的基础上就能整理出想要的东西!
laoyingisme 2010-04-06
  • 打赏
  • 举报
回复
再谢1楼,功能已经实现,但我想要以插件的形式。
我是想做一个用户提示的插件
wosizy 2010-04-06
  • 打赏
  • 举报
回复
先谢谢1楼,但我的数据要从数据库里读出来的,并且要及时刷新。

参考

后台代码:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

namespace AJAXEnabledWebApplication1
{
public partial class Timer : System.Web.UI.Page
{

private DateTime dtExam = DateTime.Parse("2009-07-22 20:42:00"); //定义时间到期时间

protected void Page_Load(object sender, EventArgs e)
{
}

protected void timerCD_Tick(object sender, EventArgs e)
{
if (this.dtExam < DateTime.Now) //如果设置的时间已过
{
this.timerCD.Enabled = false; //将Timmer置为false
labTimes.Text = "时间到!";
}
else
{
RefreshTime(); //刷新时间
}
}

private void RefreshTime() //刷新时间的方法
{
TimeSpan ts = this.dtExam - DateTime.Now; //时间差
this.labDays.Text = ts.Days.ToString().PadLeft(2, '0') + "天";
this.labTimes.Text = ts.Hours.ToString().PadLeft(2, '0') + ":" + ts.Minutes.ToString().PadLeft(2, '0') + ":" + ts.Seconds.ToString().PadLeft(2, '0');
}

}

}


前台代码:


<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Timer.aspx.cs" Inherits="AJAXEnabledWebApplication1.Timer" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>倒计时</title>
</head>
<body>
<form id="form1" runat="server">
<div>
 </div>
 <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox> 
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
时<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>分<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Timer ID="timerCD" runat="server" Interval="1000" OnTick="timerCD_Tick">
</asp:Timer>
<asp:Label ID="labDays" runat="server" Width="155px"></asp:Label><asp:Label ID="labTimes" runat="server" Width="155px"></asp:Label>
</ContentTemplate>
</asp:UpdatePanel>
</form>
</body>
</html>

laoyingisme 2010-04-06
  • 打赏
  • 举报
回复
先谢谢1楼,但我的数据要从数据库里读出来的,并且要及时刷新。
wosizy 2010-04-06
  • 打赏
  • 举报
回复
body 部分
<body onload=DigitalTime1()>
<form id="form1" runat="server">
<div id= LiveClock1></div>
</form>
</body>
wosizy 2010-04-06
  • 打赏
  • 举报
回复
JS 写的

<script language="JavaScript" type="text/javascript">
<!--
function DigitalTime1()
{
var deadline= new Date("01/12/2010") //开幕倒计时
var symbol="1月12日"
var now = new Date()
var diff = -480 - now.getTimezoneOffset() //是北京时间和当地时间的时间差
var leave = (deadline.getTime() - now.getTime()) + diff*60000
var day = Math.floor(leave / (1000 * 60 * 60 * 24))
var hour = Math.floor(leave / (1000*3600)) - (day * 24)
var minute = Math.floor(leave / (1000*60)) - (day * 24 *60) - (hour * 60)
var second = Math.floor(leave / (1000)) - (day * 24 *60*60) - (hour * 60 * 60) - (minute*60)

var deadline_2= new Date("01/12/2010") //开幕后计时
var symbol_2="1月12日"
var now_2 = new Date()
var diff_2 = -480 - now.getTimezoneOffset() //是北京时间和当地时间的时间差
var leave_2 = (now_2.getTime() - deadline_2.getTime()) + diff_2*60000
var day_2 = Math.floor(leave_2 / (1000 * 60 * 60 * 24))
var hour_2 = Math.floor(leave_2 / (1000*3600)) - (day_2 * 24)
var minute_2 = Math.floor(leave_2 / (1000*60)) - (day_2 * 24 *60) - (hour_2 * 60)
var second_2 = Math.floor(leave_2 / (1000)) - (day_2 * 24 *60*60) - (hour_2 * 60 * 60) - (minute_2*60)

day=day+1;
day_2=day_2+1;

if (day>0) //还未开幕
{
//LiveClock1.innerHTML = "现在"+symbol+"天"
LiveClock1.innerHTML = "<font class=fon1>距离"+symbol+"开幕还有<font class=fon2>"+day+"</font>天</font>"
setTimeout("DigitalTime1()",1000)
}

if (day<0) //已经开幕
{
//LiveClock1.innerHTML = "现在离"+symbol+"还有"+day+"天"+hour+"小时"+minute+"分"+second +"秒"
LiveClock1.innerHTML = "<font class=fon1>"+symbol+"开幕已有<font class=fon2>"+day_2+"</font>天</font>"
setTimeout("DigitalTime1()",1000)

}

if (day==0) //正在开幕
{
//LiveClock1.innerHTML = "现在"+symbol+"天"
LiveClock1.innerHTML = "<font class=fon1>某某运动会今天开幕</font>"
setTimeout("DigitalTime1()",1000)
}

if (day<0 & day_2>19) //某某运动会结束
{
//LiveClock1.innerHTML = "现在离"+symbol+"还有"+day+"天"+hour+"小时"+minute+"分"+second +"秒"
LiveClock1.innerHTML = "<font class=fon1>某某运动会已全部结束</font>"
setTimeout("DigitalTime1()",1000)
}
}
// -->
</script>

62,040

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧