ASP网页上的倒计时代码,要求可以防刷新的
要求网站上倒计时器可以循环,比如倒计时30秒,29.,28,。。。。0。然后又重新从30秒开始倒计时。并且可以不因访问者的刷新页面而中断倒计时的进程导致重新开始计时。具有...
要求网站上倒计时器可以循环,比如倒计时30秒,29.,28,。。。。0。然后又重新从30秒开始倒计时。并且可以不因访问者的刷新页面而中断倒计时的进程导致重新开始计时。具有防刷新功能,支持ASP语言上使用
展开
4个回答
展开全部
<script type="text/javascript" language="javascript">
var target = []
var time_id = []
/*
原理:每次和当前时间比较,得到天、小时、分、秒
*/
function show_date_time_0() {
setTimeout("show_date_time_0()", 1000);
for (var i = 0, j = target.length; i < j; i++) {
today = new Date();
//alert(today);
//计算目标时间与当前时间间隔(毫秒数)
var timeold = target[i] - today.getTime(); //getTime 方法返回一个整数值,这个整数代表了从 1970 年 1 月 1 日开始计算到 Date 对象中的时间之间的毫秒数。
//计算目标时间与当前时间的秒数
var sectimeold = timeold / 1000;
//计算目标时间与当前时间的秒数(整数)
var secondsold = Math.floor(sectimeold);
//计算一天的秒数
var msPerDay = 24 * 60 * 60 * 1000;
//得到剩余天数
var e_daysold = timeold / msPerDay;
//得到剩余天数(整数)
var daysold = Math.floor(e_daysold);
//alert(daysold);
//得到剩余天数以外的小时数
var e_hrsold = (e_daysold - daysold) * 24;
//得到剩余天数以外的小时数(整数)
var hrsold = Math.floor(e_hrsold);
//得到尾剩余分数
var e_minsold = (e_hrsold - hrsold) * 60;
//得到尾剩余分数(整数)
minsold = Math.floor((e_hrsold - hrsold) * 60);
//得到尾剩余秒数(整数)
seconds = Math.floor((e_minsold - minsold) * 60);
if (daysold < 0) {
document.getElementById(time_id[i]).innerHTML = "逾期,倒计时已经失效";
}
else {
//天数取三位,不足时前边补0
if (daysold < 10) { daysold = daysold }
//天数取三位,不足时前边补0
if (daysold < 100) { daysold = daysold }
//小时取两位,不足补0
if (hrsold < 10) { hrsold = "0" + hrsold }
//分数取两位,不足补0
if (minsold < 10) { minsold = "0" + minsold }
//秒数取两位,不足补0
if (seconds < 10) { seconds = "0" + seconds }
//小于三天时,字体为红色
if (daysold < 1) {
document.getElementById(time_id[i]).innerHTML = "<span class=\"hz\">" + hrsold + "</span>小时<span class=\"hz\">" + minsold + "</span>分<span class=\"hz\">" + seconds + "</span>秒";
}
else {
document.getElementById(time_id[i]).innerHTML = "<span class=\"hz\">" + daysold + "</span>天<span class=\"hz\">" + hrsold + "</span>小时<span class=\"hz\">" + minsold + "</span>分<span class=\"hz\">" + seconds + "</span>秒"
}
}
}
}
setTimeout("show_date_time_0()", 1000);
</script>
<script type="text/javascript">
//使用方式
target[target.length]=new Date(2011, 1, 28, 00, 00, 00).getTime();
time_id[time_id.length] = "timecount"
</script>
var target = []
var time_id = []
/*
原理:每次和当前时间比较,得到天、小时、分、秒
*/
function show_date_time_0() {
setTimeout("show_date_time_0()", 1000);
for (var i = 0, j = target.length; i < j; i++) {
today = new Date();
//alert(today);
//计算目标时间与当前时间间隔(毫秒数)
var timeold = target[i] - today.getTime(); //getTime 方法返回一个整数值,这个整数代表了从 1970 年 1 月 1 日开始计算到 Date 对象中的时间之间的毫秒数。
//计算目标时间与当前时间的秒数
var sectimeold = timeold / 1000;
//计算目标时间与当前时间的秒数(整数)
var secondsold = Math.floor(sectimeold);
//计算一天的秒数
var msPerDay = 24 * 60 * 60 * 1000;
//得到剩余天数
var e_daysold = timeold / msPerDay;
//得到剩余天数(整数)
var daysold = Math.floor(e_daysold);
//alert(daysold);
//得到剩余天数以外的小时数
var e_hrsold = (e_daysold - daysold) * 24;
//得到剩余天数以外的小时数(整数)
var hrsold = Math.floor(e_hrsold);
//得到尾剩余分数
var e_minsold = (e_hrsold - hrsold) * 60;
//得到尾剩余分数(整数)
minsold = Math.floor((e_hrsold - hrsold) * 60);
//得到尾剩余秒数(整数)
seconds = Math.floor((e_minsold - minsold) * 60);
if (daysold < 0) {
document.getElementById(time_id[i]).innerHTML = "逾期,倒计时已经失效";
}
else {
//天数取三位,不足时前边补0
if (daysold < 10) { daysold = daysold }
//天数取三位,不足时前边补0
if (daysold < 100) { daysold = daysold }
//小时取两位,不足补0
if (hrsold < 10) { hrsold = "0" + hrsold }
//分数取两位,不足补0
if (minsold < 10) { minsold = "0" + minsold }
//秒数取两位,不足补0
if (seconds < 10) { seconds = "0" + seconds }
//小于三天时,字体为红色
if (daysold < 1) {
document.getElementById(time_id[i]).innerHTML = "<span class=\"hz\">" + hrsold + "</span>小时<span class=\"hz\">" + minsold + "</span>分<span class=\"hz\">" + seconds + "</span>秒";
}
else {
document.getElementById(time_id[i]).innerHTML = "<span class=\"hz\">" + daysold + "</span>天<span class=\"hz\">" + hrsold + "</span>小时<span class=\"hz\">" + minsold + "</span>分<span class=\"hz\">" + seconds + "</span>秒"
}
}
}
}
setTimeout("show_date_time_0()", 1000);
</script>
<script type="text/javascript">
//使用方式
target[target.length]=new Date(2011, 1, 28, 00, 00, 00).getTime();
time_id[time_id.length] = "timecount"
</script>
AiPPT
2024-09-19 广告
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图...
点击进入详情页
本回答由AiPPT提供
展开全部
用js实现就很就很简单
<SCRIPT LANGUAGE="JavaScript">
<!--
var maxtime;
if(window.name==''){
maxtime = 60*60;
}else{
maxtime = window.name;
}
function CountDown(){
if(maxtime>=0){
minutes = Math.floor(maxtime/60);
seconds = Math.floor(maxtime%60);
msg = "距离结束还有"+minutes+"分"+seconds+"秒";
document.all["timer"].innerHTML = msg;
if(maxtime == 5*60) alert('注意,还有5分钟!');
--maxtime;
window.name = maxtime;
}
else{
clearInterval(timer);
alert("时间到,结束!");
}
}
timer = setInterval("CountDown()",1000);
//-->
</SCRIPT>
<div id="timer" style="color:red"></div>
<SCRIPT LANGUAGE="JavaScript">
<!--
var maxtime;
if(window.name==''){
maxtime = 60*60;
}else{
maxtime = window.name;
}
function CountDown(){
if(maxtime>=0){
minutes = Math.floor(maxtime/60);
seconds = Math.floor(maxtime%60);
msg = "距离结束还有"+minutes+"分"+seconds+"秒";
document.all["timer"].innerHTML = msg;
if(maxtime == 5*60) alert('注意,还有5分钟!');
--maxtime;
window.name = maxtime;
}
else{
clearInterval(timer);
alert("时间到,结束!");
}
}
timer = setInterval("CountDown()",1000);
//-->
</SCRIPT>
<div id="timer" style="color:red"></div>
追问
您好啊,您这个代码挺有用,具有防刷新功能,但是为什么每个用户进去都是从30秒开始算呢?能否实现倒计时和服务器时间相关联的自动循环倒计时,不要因为不同用户的登录又重新自动开始计时?
追答
js获取的是客户端的时间,所以每次都是从三十秒开始的,如果你想使显示与服务器端相关联的倒计时,那么你就得获取服务器端的时间,你可以从网上下载代码,自己改一下……
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
很简单啊 设置S时间
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个应该不难吧,asp可以使用session
追问
能说具体点吗?或者是有没有具体的代码?
追答
其它的几位的JS代码都可用,如果你要每个地方都一样的话最好去研究一下淘宝的聚划算
我的想法是使用Application,你可以查一下asp Application的使用方法,应该可以满足你
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询