一个网页倒计时的实现

最近要做一个网站上的活动倒计时的功能。在网上搜了一下,网上关于js倒计时的代码倒是不少,但是正正可以应用到生产环境的则是少之又少。

比如我用到的这个就是这样的:

var endDate=new Date(2014,7,25,23,59,59);
var begin = new Date();
var intDiff=Math.round((endDate.getTime()-begin)/1000);//初始日期

	function timer(intDiff){
		window.setInterval(function(){
		var day=0,
			hour=0,
			minute=0,
			second=0;//时间默认值
		if(intDiff > 0){
			day = Math.floor(intDiff / (60 * 60 * 24));
			hour = Math.floor(intDiff / (60 * 60)) - (day * 24);
			minute = Math.floor(intDiff / 60) - (day * 24 * 60) - (hour * 60);
			second = Math.floor(intDiff) - (day * 24 * 60 * 60) - (hour * 60 * 60) - (minute * 60);
		}
		if(day==0&&hour==0&&minute==0&&second<=0){
			$("#timeshow").html("活动结束。");
		}
		if (minute <= 9) minute = ‘0‘ + minute;
		if (second <= 9) second = ‘0‘ + second;
		$(‘#day_show‘).html(day+‘天‘);
		$(‘#hour_show‘).html(hour+‘小时‘);
		$(‘#minute_show‘).html(minute+‘分‘);
		$(‘#second_show‘).html(second+‘秒‘);
		intDiff--;

		}, 1000);
	} 
	$(function(){
		timer(intDiff);
	});

看到了没,由于js是运行在客户端的,无法拿到服务器的时间,所以会导致“一千个读者眼里又一千个哈姆雷特”,这样是不对的,所以要获得服务器的时间。

第一想到的是用ajax请求获得服务器的时间,但是会有问题,ajax是异步请求,js执行到那一段的时候ajax还没有执行完成,所以会出现取不到值得情况。所以否决了这样的做法。

解决方法是:

  <input type="hidden" id="serverTime" value="<%= request.getAttribute("time")%>"/>

在请求到这个页面之前,把时间放到atrribute里面,在页面拿到这个值,放到一个隐藏域里面。注意:定时器的代码要放到取值操作的后米阿尼,否则会出现隐藏域时空的情况。

Get!

一个网页倒计时的实现,布布扣,bubuko.com

时间: 2024-10-25 00:12:54

一个网页倒计时的实现的相关文章

一个网页如何决定是当前页打开还是新窗口打开?

一个网页是采用新开还是跳转的方式,目前也没有一个相对统一或被认可的标准或数据支持:这是一个没有优劣的不同操作习惯问题,所以贴近用户的习惯是一个好的处理方式: 优劣势对比 对大部分习惯鼠标点击的用户来讲: 优势 缺点 新开 1.不中断页面 2.可以后台加载,避免等待 3.可以 1.增加标签栏负担 2.不能回退 跳转 1.浏览流程清晰 2.支持用户新开的操作 1.会离开现有流程 2.加载需等待 3.回退时定位实现成本高 对小部分习惯通过中键和ctrl来辅助浏览的用户来讲,他们会在需要的时候自己控制新

使用HttpClient请求一个网页

1 package com.exp.httpdemo; 2 3 import java.io.InputStream; 4 5 import org.apache.http.HttpEntity; 6 import org.apache.http.HttpResponse; 7 import org.apache.http.client.HttpClient; 8 import org.apache.http.client.methods.HttpGet; 9 import org.apache

用程序来控制一个网页,实现自动输入等操作

首先今天要说的东西跟游戏无关,你是不是有时候会遇到,在某个网页上重复着几十次的简单而又无聊的录入或点击等工作?比如你的程序需要测试,需要注册大量的测试邮箱.比如你的老板是个变态,让你去各个论坛发大量的垃圾贴子(最无耻行为,纯属举例).或者,你需要定时的到某一个网页上执行某一些行为,比如上班下班的出勤打卡系统,等等吧,如果有,那么我今天所介绍的或许会对你有帮助.当然,如果你要操作的这些网页都是自己开发的,那么无所谓了,你在多开发个工具就行了,但是我说的上面这些都是第三方的网页,你控制不了它们,如果

转---写一个网页进度loading

作者:jack_lo www.jianshu.com/p/4c93f5bd9861 如有好文章投稿,请点击 → 这里了解详情 loading随处可见,比如一个app经常会有下拉刷新,上拉加载的功能,在刷新和加载的过程中为了让用户感知到 load 的过程,我们会使用一些过渡动画来表达.最常见的比如"转圈圈","省略号"等等. 网页loading有很多用处,比如页面的加载进度,数据的加载过程等等,数据的加载loading很好做,只需要在加载数据之前(before aja

键入一个网页后了发生什么

面试中经常会被问到,键入一个网页后后发生什么?这是一个非常详细的帖子,http://blog.jobbole.com/84870/ 但是太详细了,如果吧啦吧啦把这些给面试官们说完,估计就到了吃午饭的时候,那么就来个精简版的吧. 1,输入网址,按下回车键.这时候回车键的键码13就会被发送给浏览器,之后浏览器开始执行相关程序. 2.解析URL:检查URL的HTTP协议,以及请求资源的主页,如果URL不合法可能会执行搜索引擎搜索. 3.DNS查询,通过本地的DNS缓存或是向DNS服务器发送请求来获取域

利用cURL会话获取一个网页

1.curl_init 作用: 初始化一个新的会话,返回一个cURL句柄,供curl_setopt(), curl_exec()和curl_close() 函数使用. 格式:    curl_init ([ string $url = NULL ] ) 如果提供了参数 $url ,CURLOPT_URL 选项将会被设置成这个值.或者使用curl_setopt()函数手动地设置这个值. 函数执行如果成功,返回一个cURL句柄:出错返回 FALSE. 2.curl_setopt 作用:    为给定

jquery版网页倒计时动态效果

<!DOCTYPE html> <html> <head> <meta charset=utf-8 /> <title>jquery版网页倒计时动态效果</title> <!--[if IE]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]-->

简单讲讲访问一个网页的过程

今天我想梳理访问一个网页发生的故事. 1.首先,访问一个网页,就要输入该网页的地址,就是域名(如www.baidu.com) 2.通过输入的域名,进行DNS解析(域名解析)从而找出网页的ip地址(如192.168.1.1) 3.浏览器与该服务器通过三次握手协议建立连接(tcp协议),这里可以通过本机缓存的cookies状态信息,保持上一次连接状态 (网上找的图) 4.浏览器给服务器发送HTTP请求内容(HTTP协议) (随意抓一个包当例子) 这里就是前端需要向后台请求数据发送的报文 5.服务器返

如何在一个div标签里显示出另一个网页? &lt;iframe src=&quot; http://www.baidu.com &quot; width=&quot;800px&quot; height=&quot;200px&quot; scrolling=&quot;no&quot; frameborder=&quot;0&quot;&gt; &lt;/iframe&gt;

如何在一个div标签里显示出另一个网页? 用在div里用iframe,就像下面的代码 <iframe src=" http://www.baidu.com " width="800px" height="200px" scrolling="no" frameborder="0"> </iframe>