jq实现竞拍倒计时
1jq的效果代码
//全局变量用于存储当前时间
var nows; function rightZeroStr(v) {
if (v < ) {
return "" + v;
}
return v + "";
}
//计时 每10秒中为当前时间+10
setInterval(function () {
nows =parseInt(nows) + ;
}, );
//ajax.post 向服务器请求得到当前的服务器时间
function syncTime() {
var url = "Handler/Seckil.ashx?t=" + new Date().getTime();
$.post(url, { action: "now" }, function (response) {
nows = response.nows || new Date().getTime();
});
}
//倒计时 参数arg存放倒计时的标签名称 id 或者class
function lxfEndtime(arg) {
$(arg).each(function () {
var lxfday = $(this).attr("lxfday"); //用来判断是否显示天数的变量
var endtime = new Date($(this).attr("endtime")).getTime(); //取结束日期(毫秒值)
var nowtime = nows; //今天的日期(毫秒值)
var starttime = new Date($(this).attr("starttime")).getTime();
//开始时间和当时时间作比较 判断是开始 技术还是正在进行中
if (starttime >= nowtime) {
$(this).html("活动即将开始")
}
if (endtime <= nowtime) {
$(this).html("活动已经结束"); //如果结束日期小于当前日期就提示过期啦
}
if (starttime < nowtime && endtime > nowtime) {
var youtime = endtime - nowtime; //还有多久(毫秒值)
var seconds = youtime / ;
var minutes = Math.floor(seconds / );
var hours = Math.floor(minutes / );
var days = Math.floor(hours / );
var CDay = days;
var CHour = CDay * + hours % ;
var CMinute = minutes % ;
var CSecond = Math.floor(seconds % ); //"%"是取余运算,可以理解为60进一后取余数,然后只要余数。 if ($(this).attr("lxfday") == "no") {
$(this).html('<span class="countdown" millseconds="1188163453"> <strong class="tcd-h">' + CHour + '</strong>时<strong class="tcd-m">' + CMinute + '</strong>分 <strong class="tcd-s">' + CSecond + '</strong>秒 </span>'); //输出没有天数的数据
} else {
$(this).html('<span class="countdown" millseconds="1188163453"><strong class="tcd-d">' + days + '</strong><b>天</b> <strong class="tcd-h">' + CHour + '</strong> <i>:</i> <strong class="tcd-m">' + CMinute + '</strong><i>:</i> <strong class="tcd-s">' + CSecond + '</strong> </span>'); //输出有天数的数据
}
}
});
setTimeout("lxfEndtime('" + arg + "')", );
};
2用到的handler
<%@ WebHandler Language="C#" Class="Seckil" %> using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Text;
using System.Data;
public class Seckil : IHttpHandler
{ public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/json";
string action = context.Request["action"];
switch (action)
{case "now":
now(context);
return; }
context.Response.Write("Hello World");
}public void now(HttpContext context)
{
Int64 retval = ;
DateTime st = new DateTime(, , );
TimeSpan t = (DateTime.Now.ToUniversalTime() - st);
retval = (Int64)(t.TotalMilliseconds + 0.5);
context.Response.Write("{\"nows\":\"" + retval + "\"}");
} public bool IsReusable
{
get
{
return false;
}
} }
3前台页面代码
<html>
<script src="js/time.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
syncTime();
lxfEndtime(".box font");
});
</script>
<body>
<font color=\"#FF0000\" endtime=\"' + dataitem.EndDate + '\" starttime=\"' + dataitem.StartDate + '\" lxfday=\"no\"></font>
</body>
</html>
jq实现竞拍倒计时的更多相关文章
- js&jq 发送验证码倒计时
<input type="text" name='' id="btn"> //发送验证码倒计时var wait=30; function t ...
- destoon开发笔记-JQ+JS实现倒计时功能
页面代码 <div class="time " class="" id="onBidtime125" pid="125&qu ...
- JS与JQ倒计时的写法
页面需要制作一个倒计时的功能:然后度娘了一遍,找到两种写法,原生JS与JQ 的,经过测试原生JS在IE可能会有不刷新的现象所以结合了一个大神的JQ写法修改好了一个. 原生JS写法: HTML: < ...
- jq 倒计时
引入jq 注 在IE和safari 如果时间出现NAN 将时间格式改为YYYY/MM/DD HH:MM:SS 例:var d2 = new Date("2019/02/18 15:59&qu ...
- jq倒计时(代码)
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- jq 实现发送验证码倒计时功能
var util = { wait:60, hsTime: function (that) { _this = this; if (_this.wait == 0) { $('#hsbtn').rem ...
- jQ效果:jQuery之插件开发短信发送倒计时功能
实现的主要功能如下: 1.点击按钮的时候,可以进行倒计时,倒计时自定义. 2.当接收短信失败后,倒计时停止,可点击重新发送短信. 3.点击的元素支持一般标签和input标签. html代码: < ...
- js,JQ获取短信验证码倒计时
按钮 <a href="javasript:void(0);"onclick="settime(this);">获取手机验证码</a> ...
- jq 某个时间段的倒计时
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
随机推荐
- OpenGL超级宝典第5版&&glProvokingVertex
翻译:https://www.opengl.org/sdk/docs/man3/xhtml/glProvokingVertex.xml 方法原型:void glProvokingVertex(GLen ...
- const 常量数据,只读
网上其他的博客地址:1 http://www.cnblogs.com/ronny/p/3672501.html 2 http://www.cnblogs.com/hellogiser/p/cplusp ...
- 关于display显示 linux
export DISPLAY=ipaddressofyourmachineorpc:0.0 如果要在本来的机器上显示,使用 export DISPLAY=localhost:0
- python中yield用法
在介绍yield前有必要先说明下Python中的迭代器(iterator)和生成器(constructor). 一.迭代器(iterator) 在Python中,for循环可以用于Python中的任何 ...
- 发布 asp.net网站 到本地IIS
http://blog.csdn.net/jiben2qingshan/article/details/9249139 概述 网站是由一个个页面组成的,是万维网具体的变现形式,关于万维网,网页的方面的 ...
- http协议中的Content-Type
今天对http协议中的Content-Type有所理解了 它的主要功给我的感觉,还是在前台(客户端)给服务器传输数据时,描述这个数据的格式. 比如,我只传一个表单数据,但这个表单中只有文本,没有其它的 ...
- hadoop streaming 编程
概况 Hadoop Streaming 是一个工具, 代替编写Java的实现类,而利用可执行程序来完成map-reduce过程.一个最简单的程序 $HADOOP_HOME/bin/hadoop jar ...
- 【转】UIBezierPath精讲
http://www.henishuo.com/uibezierpath-draw/ 基础知识 使用UIBezierPath可以创建基于矢量的路径,此类是Core Graphics框架关于路径的封装. ...
- thymeleaf中的内联[ [ ] ]
一.文本内联 [[…]]之间的表达式在Thymeleaf被认为是内联表达式,在其中您可以使用任何类型的表达式,也会有效th:text属性. <p>Hello, [[${session.us ...
- c++未指定返回值
int foo() { } foo返回的是随机数 函数的返回值在函数堆栈的参数后面,由一个指向寄存器的指针决定,函数返回时,调用者取指针取寄存器中的值作为返回值. 如果指定返回值,函数在返回前会将返回 ...