- 浏览: 204462 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (231)
- C++学习 (41)
- vc学习 (25)
- vc异常 (4)
- Flex (2)
- Ext (0)
- java学习笔记 (15)
- mysql学习笔记 (1)
- ibatis学习笔记 (7)
- struts1学习笔记 (1)
- hibernate学习笔记 (3)
- javascript学习笔记 (8)
- eclipse快捷键 (2)
- 英语学习 (1)
- cmd (1)
- eclipse 配置 (2)
- 其他 (4)
- JAVASE (34)
- firefox (1)
- linux (8)
- Apache (6)
- cms (22)
- jsuc (10)
- html (3)
- css (1)
- 作图 (2)
- vs2012 (2)
- 编码转换 (12)
- work_unicode (1)
- work_webbrowser (1)
- work_trade_quotes_login (1)
- c#学习 (38)
- wpf学习 (31)
- wpf快速学习 (1)
- VB学习 (1)
- NSIS (4)
- log4cpp (3)
- 学习web (1)
- 经验 (1)
- c_汇编 (1)
最新评论
/** * 模拟时钟 * @author lulu * @version 2012-6-17 */ /** * 取两个日期的时间间隔 * @param {Date} time1 日期对象 * @param {Date} time2 日期对象 * @return {int[3]} tim1和time2的时间间隔(按顺序分别表示时分秒) */ function distanceOfTwoDate(time1, time2){ var distanceHour = 0; var distanceMinute = 0; var distanceSecond = 0; var distance = time1 - time2; if (distance > 0) { distanceHour = Math.floor(distance / 1000 / 60 / 60); distanceMinute = Math.floor(distance / 1000 / 60 % 60); distanceSecond = Math.floor(distance / 1000 % 60); } var distance = new Array(3); distance[0] = distanceHour; distance[1] = distanceMinute; distance[2] = distanceSecond; return distance; } /** * 模拟时钟倒计时 * @param {int[3]} time 按顺序分别表示时分秒 * @param {function} callback 回调函数 */ function timeWalk(time, callback){ time[2]--; var timeStr = changeTimeStr(time); if (typeof(callback) == 'function') { callback.call(this, timeStr); } if (timeStr == '000000') { return; } window.setTimeout(function(){ timeWalk(time, callback); }, 1000 ); } /** * 处理参数time,数组元素小于0时向前高位借位,最高位小于0时数组置0,并返回time经过处理后的字符串形势 * @param {int[3]} time 按顺序分别表示时分秒 * @return {String} time的字符串形势('095903',前两位表示时,中两位表示分,后两位表示秒) */ function changeTimeStr(time){ if (time[2] < 0) { time[1]--; time[2] += 60; } if (time[1] < 0) { time[0]--; time[1] += 60; } if (time[0] < 0) { time[0] = 0; time[1] = 0; time[2] = 0; return '000000'; } var hour = time[0]; var minute = time[1]; var second = time[2]; hour = (hour < 10 ? '0' : '') + hour; minute = (minute < 10 ? '0' : '') + minute; second = (second < 10 ? '0' : '') + second; return hour + minute + second; } /** * 将日期字符串转换成日期对象 * @param {String} time 日期字符串(yyyy-MM-dd HH:mm:ss 中间连接字符[-和:]任意) * @return {Date} 由time生成的日期对象 */ function parseDate(time) { var year = 1 * time.substring(0, 4); var month = 1 * time.substring(5, 7) - 1; var day = 1 * time.substring(8, 10); var hour = 1 * time.substring(11, 13); var minute = 1 * time.substring(14, 16); var second = 1 * time.substring(17, 19); var date = new Date(year, month, day, hour, minute, second); return date; }
xy_ms_tg_index.js
var now = ''; window.addEvent('domready', function(){ queryInfo(); }); function queryInfo(){ var url = '/shop/school/SchoolAct.do?operFlag=query&act_type=ms_tg&sale_type=2'; RequestJSON(url, 'post', '', true, function(json, text) { if($chk(json.error_desc)){ alert(json.error_desc); return; } if ($chk(json.goodslist) && json.goodslist.length == 0) { $('miaosha').style.display = 'none'; return; } now = json.now; var ms_index = 0; var tg_index = 0; json.goodslist.each(function(data, index){ var template = $('def.template.div').clone(true, true); template.inject($('def.template.div'), 'before'); template.set('goods_id', data.id); template.set('act_type', data.act_type); var czkPic = data.goods_type == '9' ? ('/shop/school/imgs/czk/chongzhika_' + data.price + '.jpg') : ''; template.getElement('img[id=def.img.goods_pic]').set('src', data.goods_type == '9' ? czkPic : data.pic_path); template.getElement('span[id=def.span.price]').set('html', data.price); template.getElement('td[id=def.td.act_price]').set('html', data.act_price); var distanceBegin = distanceOfTwoDate(parseDate(data.start_time), parseDate(now)); alert("30:"+distanceBegin); var isBegin = (changeTimeStr(distanceBegin) == '000000'); var distanceEnd = distanceOfTwoDate(parseDate(data.end_time), parseDate(now)); var isEnd = (changeTimeStr(distanceEnd) == '000000'); if (isBegin && !isEnd) { setGoodsStatus(template, true); } else { setGoodsStatus(template, false); if (isBegin && isEnd) { template.getElement('td[id=def.td.time_label]').set('html', '距离结束时间'); } } timeWalk(distanceBegin, function(distanceStr){ distanceStr = distanceStr.length > 7 ? '9995959' : distanceStr; if(distanceStr.length == 7){ template.getElement('td[id=def.td.time_cal]').set('class','time02'); for (var i = 0; i < 7; i++) { var element = template.getElement('span[id=def.span.time' + i + ']'); if(i==0){ element.style.display = ''; } element.set('html', distanceStr.charAt(i)); } } else if(distanceStr.length == 6){ var element = template.getElement('span[id=def.span.time0]'); element.set('html', '0'); for (var i = 0; i < 6; i++) { var element = template.getElement('span[id=def.span.time' + (i+1) + ']'); element.set('html', distanceStr.charAt(i)); } } if (!isBegin && distanceStr == '000000') { isBegin = true; setGoodsStatus(template, true); } if (isBegin && !isEnd) { displayDistanceEnd(template, data.end_time); } }); if(data.act_type=='1'){ //秒杀 ms_index = ms_index +1; template.id = 'msMk0'+ms_index; } else { //团购 tg_index = tg_index+1; template.getElement('td[id=def.td.price]').set('height', '21'); template.id = 'tgMk0'+tg_index; } template.style.display = ''; }); }); } function displayDistanceEnd (template, endTime) { var url = '/shop/school/SchoolAct.do?operFlag=queryCurrentDate&sale_type=2'; RequestJSON(url, 'post', '', false, function(json, text){ if($chk(json.error_desc)){ alert(json.error_desc); return; } now = json.now; var distanceEnd = distanceOfTwoDate(parseDate(endTime), parseDate(now)); timeWalk(distanceEnd, function(distanceStr){ distanceStr = distanceStr.length > 7 ? '9995959' : distanceStr; if(distanceStr.length == 7){ template.getElement('td[id=def.td.time_cal]').set('class','time02'); for (var i = 0; i < 7; i++) { var element = template.getElement('span[id=def.span.time' + i + ']'); if(i==0){ element.style.display = ''; } element.set('html', distanceStr.charAt(i)); } } else if(distanceStr.length == 6){ var element = template.getElement('span[id=def.span.time0]'); element.set('html', '0'); for (var i = 0; i < 6; i++) { var element = template.getElement('span[id=def.span.time' + (i+1) + ']'); element.set('html', distanceStr.charAt(i)); } } if (distanceStr == '000000') { setGoodsStatus(template, false); } }); }); } function setGoodsStatus(template, canBuy){ var actType = template.get('act_type'); var goodsId = template.get('goods_id'); var goodsType = actType == '1' ? 'ms' : 'tg'; var toBuyUrl = '/shop/sales/goods_detail.shtml?goods_id=' + goodsId + '&goods_type=' + goodsType; var picPath = template.getElement('img[id=def.img.goods_pic]').get('src'); var picTd = template.getElement('td[id=def.td.goods_pic]'); picTd.empty(); var picHtml = canBuy ? '<a target="_blank" href="' + toBuyUrl + '"><img id="def.img.goods_pic" src="' + picPath +'" border="0" width="155" height="166"/></a>' : '<img id="def.img.goods_pic" src="' + picPath +'" border="0" width="155" height="166"/>'; picTd.set('html', picHtml); var buyTd = template.getElement('td[id=def.td.buy]'); buyTd.empty(); var btnHtml = canBuy ? '<a target="_blank" id="def.a.buy" href=""><img id="def.img.btn" src="" border="0"/></a>' : '<img id="def.img.btn" src="" border="0"/>'; buyTd.set('html', btnHtml); if (actType == '1') { var btnImg = '/shop/school/imgs/n_sy/' + (canBuy ? 'msBtn.jpg' : 'msBtn01.jpg'); template.getElement('img[id=def.img.btn]').set('src', btnImg); template.getElement('img[id=def.img.act_price]').set('src', '/shop/school/imgs/n_sy/msj.jpg'); } else if (actType == '2') { var btnImg = '/shop/school/imgs/n_sy/' + (canBuy ? 'buy.jpg' : 'buy01.jpg'); template.getElement('img[id=def.img.btn]').set('src', btnImg); template.getElement('img[id=def.img.act_price]').set('src', '/shop/school/imgs/n_sy/qg.jpg'); } if (canBuy) { template.getElement('a[id=def.a.buy]').set('href', toBuyUrl); template.getElement('td[id=def.td.time_label]').set('html', '距离结束时间'); } }
xy_ms_tg_index.html
<!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> <meta http-equiv="Content-Type" content="text/html; charset=GBK" /> <title></title> <script type="text/javascript" src='/shop/js/pub/shop.js'></script> <script type="text/javascript" src='/shop/school/js/school.js'></script> <script type="text/javascript" src='/shop/school/js/xy_ms_tg_index.js' charset="GBK"></script> <style> #miaosha{ position:relative; width:960px; height:364px; background-image:url(/shop/school/imgs/n_sy/msBg.jpg); background-repeat:no-repeat;} .wz01{ color:#000;} #miaosha .time{ color:#000; width:35px; height:32px; background-image:url(/shop/school/imgs/n_sy/djsBg.jpg); background-repeat:no-repeat; font-size:14px; font-weight:bold;} #miaosha .time02{ color:#000; width:35px; height:32px; background-image:url(/shop/school/imgs/n_sy/djsBg02.jpg); background-repeat:no-repeat; font-size:14px; font-weight:bold;} .msMk{ width:215px; position: relative; float:left; margin-left:10px; margin-top:80px; color:#ED6C00; } #msMk01{ position:absolute;left:40px;} #msMk02{ position:absolute;left:260px;} #tgMk01{ position:absolute;left:495px;} #tgMk02{ position:absolute;left:710px;} </style> </head> <body> <div id="miaosha" > <div id="def.template.div" class="msMk" style="display: none;"> <table width="215" border="0" style=" font-size:12px;"> <tr> <td colspan="3" id="def.td.goods_pic" align="center"><a href="#"><img id="def.img.goods_pic" src="" border="0" width="155" height="166"/></a></td> </tr> <tr> <td id="def.td.price" height="17" align="right" class="wz01" >原价:<span id="def.span.price" style="text-decoration: line-through;">5880</span></td> <td id="def.td.act_price" width="66" rowspan="2" align="center" style="font-size:26px; font-weight: bold; " class="wz02">4999</td> <td id="def.td.buy" width="42" rowspan="2" align="right"><a id="def.a.buy" href="#"><img id="def.img.btn" src="" border="0"/></a></td> </tr> <tr> <td width="83" height="17" align="right"><img id="def.img.act_price" src=""/></td> </tr> </table> <table width="215" border="0" style=" font-size:11px; color:#ED6C00"> <tr> <td width="65" id="def.td.time_label" align="right" class="wz02" >距离开始时间</td> <td width="35" class="time" id="def.td.time_cal"><span id="def.span.time0" style="margin-left:5px;display:none">0</span><span id="def.span.time1" style="margin-left:6px; ">0</span><span id="def.span.time2" style="margin-left:6px;">0</span></td> <td width="8">时</td> <td class="time" ><span id="def.span.time3" style="margin-left:6px;">0</span><span id="def.span.time4" style="margin-left:7px; ">0</span></td> <td width="8">分</td> <td class="time" ><span id="def.span.time5" style="margin-left:6px;">0</span><span id="def.span.time6" style="margin-left:7px; ">0</span></td> <td width="8">秒</td> </tr> </table> </div> </div> </body> </html>
发表评论
-
贫血模式和充血模式
2013-03-06 14:36 1254贫血模式和充血模式 贫血模型:是指领域对象里只有get和 ... -
java的(PO,VO,TO,BO,DAO,POJO)解释
2013-03-06 14:34 636java的(PO,VO,TO,BO,DAO,POJO)解释 ... -
福尔摩斯统计(非原创)
2012-12-25 10:33 706<script type="text/java ... -
session问题(非原创)
2012-12-19 10:46 8241、session在何时被创建 ... -
subString()包头不包尾。
2012-12-17 17:07 1766subString()包头不包尾。 -
upload数字签名
2012-12-17 16:04 708一、为什么要进行数字签名 生成的JAR包需要数字签名 ... -
显示上传的文件,图片则显示,附件则提供下载
2012-12-13 17:22 749package cn.com.leadfar.cms.back ... -
文件上传
2012-12-07 14:56 765文件上传 < ... -
arguments(javascript)
2012-11-30 09:26 711arguments(javascript) argument ... -
反编译enum(转载)
2012-11-28 17:37 686public final class Gender exten ... -
枚举的七种用法(转载)
2012-11-28 17:34 740转载地址:http://softbeta.iteye.c ... -
滚动消息
2012-11-28 14:42 711<div id="" style=& ... -
html_img_map图分块加链接
2012-11-27 18:05 784<div style="text-align: ... -
滚动广告pptBox
2012-11-27 17:55 2296滚动广告pptBox /** * PPT 盒 ... -
javascript编码
2012-11-27 15:58 485javascript编码 <script type=& ... -
contentType,pageEncoding
2012-11-22 15:36 677contentType,pageEncoding -
ThreadLocal
2012-11-22 15:34 529ThreadLocal 则保存其他线程各自的变量,不会相互影响 ... -
服务器端包含
2012-11-22 15:33 688<jsp:include page="Na ... -
referer引用页面
2012-11-21 17:15 751referer引用页面 在网站上有多处可供登录的网页,要求在 ... -
ant 的windows下安装(非原创)
2012-07-23 14:37 722ant 的windows下安装(非原创) 1确定java 的 ...
相关推荐
本项目涉及的“flash和javascript倒计时时钟”是一个结合了Flash与JavaScript技术的解决方案,允许用户在网页上实现定制化的倒计时功能。 Flash技术提供了丰富的图形和动画能力,使得倒计时钟可以具有吸引人的视觉...
本文件为语言实现通讯录的管理系统,采用三层架构,希望大家共同学习
HTML5的Canvas元素允许开发者通过JavaScript绘制图形,包括动态的时钟和倒计时。在这个实例中,开发者会利用`requestAnimationFrame`函数持续更新画布上的时间,模拟时钟指针的转动或数字的递减。 2. **SVG动画...
标题和描述中提到的"时钟倒计时,背景音乐,实时北京时间,星期,倒计时时间,每天的倒计时,弹幕,发表弹幕"这些元素涉及到一个交互式的Web应用或者桌面软件的设计,主要关注时间管理、用户体验以及媒体播放功能。...
总的来说,结合Cocos2d-js 3.0和Cocos Studio实现时钟倒计时功能,需要对JavaScript编程、Cocos2d-js框架以及Cocos Studio的基本操作有充分的理解。通过创建自定义类,利用Cocos2d-js的时间管理模块,我们可以轻松地...
【CSS3带阴影效果圆形时钟倒计时代码】是一个利用了CSS3的强大功能来创建的具有3D立体感的网页倒计时组件。在这个特效中,时钟以圆形的形式展示,不仅显示时间,还带有动态阴影效果,使得整体视觉效果更加生动且...
JavaScript实现秒杀时钟倒计时的核心知识点主要包括以下方面: 1. 倒计时的基本原理: 倒计时功能是通过JavaScript中的定时器函数`setInterval()`实现的,该函数可以按照指定的时间间隔重复执行一个函数。在这个...
本文将详细介绍基于jQuery实现的三种复古翻牌时钟效果,包括普通时钟显示、倒计时以及10秒倒计时并带有回调函数。这些效果不仅美观,而且具有良好的浏览器兼容性,适用于各种网页项目。 ### 1. 时钟效果 时钟效果...
JavaScript部分,特别是jQuery,将用于处理时钟和倒计时的逻辑。jQuery的$(document).ready()函数常用来确保页面加载完成后再执行脚本。在该函数内部,可以编写代码来获取当前时间,然后使用setInterval()函数每秒...
JavaScript电子时钟倒计时的实现涉及到JavaScript的基础语法及时间处理功能。以下为实现一个倒计时电子时钟所涵盖的知识点: 1. JavaScript中的时间处理函数: JavaScript提供了多种处理时间的内置方法,如获取当前...
在ASP.NET中实现JavaScript无刷新倒计时是一个常见的需求,主要应用于实时显示即将到达的某个时间点,如活动开始时间、考试结束时间等场景。在这个过程中,后端负责提供初始的倒计时时间,前端通过JavaScript来实时...
在JavaScript中实现时钟和倒计时程序是前端开发中常见的任务,这涉及到对时间、日期对象的理解以及事件循环机制的运用。以下是对这个主题的详细讲解。 首先,JavaScript中的`Date`对象是处理时间的基础。它允许我们...
【倒计时Flash源码】是一种使用Adobe Flash(现已被Adobe Animate替代)开发的交互式数字时钟程序,主要用于创建动态的、视觉效果丰富的倒计时界面。这个特定的Flash源码设计独特,不仅拥有精美的页面设计,还具备在...
【CSS3时钟圆形立体倒计时代码】是一种利用CSS3技术实现的具有立体效果的圆形倒计时组件。在网页设计中,这样的时钟常用于活动倒计时或者重要事件提醒,为用户提供直观的时间感知。这个代码示例通过HTML和CSS3的组合...
对于Web应用,可以使用JavaScript在客户端进行倒计时,但服务器端的逻辑类似。 在实际开发中,可能还需要处理闰秒、时区转换等问题,以及异常处理和性能优化。总的来说,C#提供了丰富的日期时间操作功能,实现倒...
然而,传统的JavaScript实现的倒计时器存在诸多局限性,比如无法防止页面刷新或关闭后重新计时、计时不够精确等问题。本文旨在探讨一种结合动态脚本(如ASP、PHP、JSP)与JavaScript技术的新型倒计时器设计方案,该...
同时,JavaScript也能处理用户交互,例如当用户在右下角设置区域选择倒计时或秒表模式时。 翻页效果通常通过CSS3的`transition`和`transform`属性来实现。当时间改变时,HTML元素的样式会逐步过渡到新的值,模拟...
【时钟新年倒计时二改源码】是一款基于软件/插件开发的项目,主要目的是实现一个新年倒计时的动态效果。源码经过了二次修改,以满足特定的功能需求或优化用户体验。这个源码可能包含了一整套前端开发资源,包括HTML...