jQuery控制倒计时
1.1 秒杀的倒计时
做秒杀网页总免不了倒计时,但没有很好的服务器,啥资源都没有,只能将部分任务交给浏览器去处理,比如秒杀首页的倒计时,因为真正秒杀是在具体页面,首页只是展示而已,所以误差一点是允许的。
而在具体商品页,时间要求比较严谨,可以通过每秒向服务器提交信息核实,也可以通过隔时间段提交,核对并确保时间无误(误差较小)。
1.2 jQuery控制倒计时示例
$(document).ready(function() {
onTimer("#time",);
});
// 该函数用于执行倒计时
function onTimer(id, time) {
// 将传进来的long型转换成秒
var remainingTime = time / ;
var hour = ;
var minute = ;
var second = ;
// 需要将其句柄赋予一个变量,方便清除该事件
var stopCountDown = setInterval(countDown, );
function countDown() {
if(remainingTime > ) {
// 如果倒计时大于0,则继续倒计时
hour = Math.floor(remainingTime / );
minute = Math.floor(Math.floor(remainingTime % ) / );
second = Math.floor(remainingTime % );
var formatTime = numToDate(hour, minute, second);
changeShowTime(id, formatTime);
remainingTime--;
/* 这里可用Ajax提交到服务器的 */
}else {
// 若倒计时为0,则清除事件
clearInterval(stopCountDown);
/* 这里可用Ajax提交到服务器的 */
}
}
}
// 将数字转换成时间格式,如: 09:30:45
function numToDate(hour, minute, second) {
var tohour = hour < ? ("" + hour) : hour;
var tominute = minute < ? ("" + minute) : minute;
var tosecond = second < ? ("" + second) : second;
return tohour + ":" + tominute + ":" + tosecond;
}
// 该函数用于显示倒计时
function changeShowTime(id,time) {
/* 该函数内编写显示倒计时的语句 */
///////////////////////////////////////////////////////
$(id).html(time);
}
1.3 关于多个商品倒计时
一般往往不止一个商品需要倒计时,而商品的信息又是从服务端迭代出来的,我们需要一个可以识别的标志,所以可在迭代时加入其ID,如下:
<!-- 以上,略 --> <s:iterator value="M_list" status="boxes">
<div id="goods_<s:property value="sid"/>" class="show_box float_left"> <!-- 略 --> </div>
</s:iterator>
这时的问题便是如何拿到每个ID并为其加上之前写好的方法,可以通过each(callback)方法,该方法以每一个匹配的元素作为上下文来执行一个函数。
$(document).ready(function) {
/* 以上,略 */
$("div[class *= show_box]").each(function(){
var id = $(this).attr("id");
/* 这里编写要绑定的事件,略 */
}
}
jQuery控制倒计时的更多相关文章
- Jquery控制滚动显示欢迎字幕v2
Jquery控制滚动显示欢迎字幕v2: 之前做的那个比较适合测试环境,但要套入到网站中,有两个按钮在那摆着,还是不太好看.后面对代码进行了修改,如下: 参考代码: <html> <h ...
- 用Jquery控制文本框只能输入数字和字母
用Jquery控制文本框只能输入数字和字母 $.fn.onlyNum = function () { $(this).keypress(function (event) { var eventObj ...
- jquery控制css的display(控制元素的显示与隐藏)
使用jquery控制div的显示与隐藏: $("#div的id").show()表示display:block, $("#div的id").hide()表示di ...
- jquery控制左右箭头滚动图片列表
jquery控制左右箭头滚动图片列表的实例. 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&q ...
- js/jquery控制页面动态加载数据 滑动滚动条自动加载事件--转他人的
js/jquery控制页面动态加载数据 滑动滚动条自动加载事件--转他人的 相信很多人都见过瀑布流图片布局,那些图片是动态加载出来的,效果很好,对服务器的压力相对来说也小了很多 有手机的相信都见过这样 ...
- jQuery实现倒计时效果-杨秀徐
本实例效果:剩余368天22小时39分57秒结束 代码简单易懂,适用各种倒计时: <!DOCTYPE html> <head> <title>jQuery实现倒计时 ...
- jquery控制css的display属性(显示与隐藏)
jquery控制div的显示与隐藏,很方便的. 例如: $("#id").show()表示display:block, $("#id").hide()表示dis ...
- jquery控制元素的隐藏和显示的几种方法。
组织略显凌乱,请耐心看! 使用jquery控制div的显示与隐藏,一句话就能搞定,例如: 1.$("#id").show()表示为display:block, $("#i ...
- 如何使用T-SQL备份还原数据库及c#如何调用执行? C#中索引器的作用和实现。 jquery控制元素的隐藏和显示的几种方法。 localStorage、sessionStorage用法总结 在AspNetCore中扩展Log系列 - 介绍开源类库的使用(一) span<T>之高性能字符串操作实测
如何使用T-SQL备份还原数据库及c#如何调用执行? 准备材料:Microsoft SQL Server一部.需要还原的bak文件一只 一.备份 数据库备份语句:user master backup ...
随机推荐
- CVE-2020-0796永恒之黑复现POC EXP以及修复方案
描述: 北京时间3月12日,针对最新披露的SMB远程代码执行漏洞(CVE-2020-0796),微软官方发布了针对Windows 10/Server禁用SMBv3(SMB 3.1.1版本)协议压缩的安 ...
- Java 第十一届 蓝桥杯 省模拟赛十六进制转换成十进制
问题描述 请问十六进制数1949对应的十进制数是多少?请特别注意给定的是十六进制,求的是十进制. 答案提交 这是一道结果填空的题,你只需要算出结果后提交即可.本题的结果为一个整数,在提交答案时只填写这 ...
- Java实现 LeetCode 409 最长回文串
409. 最长回文串 给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串. 在构造过程中,请注意区分大小写.比如 "Aa" 不能当做一个回文字符串. 注意 ...
- Java实现 LeetCode 207 课程表
207. 课程表 现在你总共有 n 门课需要选,记为 0 到 n-1. 在选修某些课程之前需要一些先修课程. 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1] ...
- PAT 数字黑洞
给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字.一直重复这样做,我们很快会停在有“数字黑洞 ...
- Cypress系列(16)- 查找页面元素的基本方法
如果想从头学起Cypress,可以看下面的系列文章哦 https://www.cnblogs.com/poloyy/category/1768839.html 前端页面代码 后面写的 Cypress ...
- win10系统无法删除文件的解决方法
方法/步骤 1:首先进入不能删除的文件所在的文件夹 2:右键单击此文件夹,选择授予访问权限 3:在授权界面选择删除权限 4:在删除权限中点击更改共享权限 5:我们选择administrator级别,点 ...
- HttpClient 常用方法封装
简介 在平时写代码中,经常需要对接口进行访问,对于 http 协议 rest 风格的接口请求,大多使用 HttpClient 工具进行编写,想着方便就寻思着把一些常用的方法进行封装,便于平时快速的使用 ...
- 【loj - 3055】「HNOI2019」JOJO
目录 description solution accepted code details description JOJO 的奇幻冒险是一部非常火的漫画.漫画中的男主角经常喜欢连续喊很多的「欧拉」或 ...
- C# Winform界面不能适配高DPI的解决方法
1. 将 Form 的 AutoScaleMode 属性设置为 DPI: 2. 在Program.cs中修改代码 class Program { [STAThread] static void Mai ...