活动倒计时,可同步服务器时间,倒计时格式随意设置

使用说明

    /*
#活动倒计时,可同步服务器时间
startTime:起始时间
endTime:结束时间
format_str:字符模板
speed:倒计时执行速度
callback:倒计时结束回调
$('.xxx').countDown_str({
startTime:'2018-09-28 11:09:00',
endTime: '2018-09-29 11:09:00',
format_str: '<span class="dd">{d}</span><span class="hh">{h}</span><span class="mm">{m}</span><span class="ss">{s}</span><span class="hs">{hs}</span>'
});
//字符模板详细说明
{d}天数
{h}小时
{m}分钟
{s}秒
{hs}毫秒
*/

  

  

插件代码

     $.fn.countDown_str = function (options) {
var defaults = {
startTime: '2018-09-28 11:09:00',
endTime: '2018-09-29 11:09:00',
speed: 1000,
format_str: '<span class="dd">{d}</span><span class="hh">{h}</span><span class="mm">{m}</span><span class="ss">{s}</span><span class="hs">{hs}</span>',
callback: function () { }
}
var opt = $.extend({}, defaults, options); return this.each(function () {
var that = this,
timer = ''; function init() {
var nowTimeStamp = new Date().getTime();//服务器的开始时间
var nowTimeStamp_server = new Date(opt.startTime).getTime();
this.totalTime = nowTimeStamp - nowTimeStamp_server;//服务器与本地时间差
} init.prototype.format = function (str, args) {
var result = str;
if (arguments.length > 0) {
if (arguments.length == 2 && typeof (args) == "object") {
for (var key in args) {
if (args[key] != undefined) {
var reg = new RegExp("({" + key + "})", "g");
result = result.replace(reg, args[key]);
}
}
}
}
return result;
}; init.prototype.outputTime = function () {
var date = this.date,
endTime = opt.endTime,
format_str = opt.format_str;
var nowTimeStamp = new Date().getTime();
var endTimeStamp = new Date(endTime).getTime();
var surplusTime = endTimeStamp - nowTimeStamp + this.totalTime;
var d = parseInt((surplusTime / (1000 * 60 * 60 * 24)));
var _d = d < 10 ? '0' + d : d;
var h = parseInt((surplusTime % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); //时
var _h = h < 10 ? '0' + h : h;
var m = parseInt((surplusTime % (1000 * 60 * 60)) / (1000 * 60)); //分
var _m = m < 10 ? '0' + m : m;
var s = ((surplusTime % (1000 * 60)) / 1000).toString(); //秒
var s1 = s.toString().split('.')[0]; //秒
var _s1 = s1 < 10 ? '0' + s1 : s1;
var _s3 = (s - s1).toFixed(3).toString().substring(2);
if (surplusTime > 0) {
format_str = init.format(format_str, {
d: _d,
h: _h,
m: _m,
s: _s1,
hs: _s3
});
} else {
format_str = init.format(format_str, {
d: '00',
h: '00',
m: '00',
s: '00',
hs: '000'
});
clearInterval(timer);
//定时器结束灰调
if (typeof opt.callback == 'function') {
opt.callback();
}
}
$(that).html(format_str); }
var init = new init();
init.outputTime();
timer = setInterval(function () {
init.outputTime();
}, opt.speed); });
}

  

[Jquery 插件]活动倒计时,可同步服务器时间,倒计时格式随意设置的更多相关文章

  1. javascript小技巧:同步服务器时间、同步倒计时

    之前在网上看到有人提问,如何在页面上同步显示服务器的时间,其实实现方法有几种,可能一般人立马就想到可以使用Ajax每隔一秒去请求服务器,然后将服务器获取到时间显示在页面上,这样虽然能够实现,但存在一个 ...

  2. 【原创】jQuery插件 - Booklet翻书特效教程(一) 一般设置

    jQuery插件 - Booklet翻书特效教程(一) 一般设置 本文由五月雨恋提供,转载请注明出处. 一.宽高(width/height) 1.自定义大小 $(function(){ // 自定义页 ...

  3. JS根据服务器时间倒计时

    原文链接:http://caibaojian.com/daojishi-2.html //获取服务器时间 function getSevertime(){ var xmlHttp = new XMLH ...

  4. Linux 自动同步服务器时间

    200 ? "200px" : this.width)!important;} --> 介绍 Linux服务器运行久时,系统时间就会存在一定的误差,本篇文章就来介绍怎样使服务 ...

  5. linux设置自动同步服务器时间

    最近遇到一个问题,由于两台服务器时间的问题,经常导致用户登录由于时间差问题而报错,再三百度,最后整理了一下修改linux定时同步的操作(本方法适用于有自己时间服务器,没有的只限于借鉴) 首先确认,我们 ...

  6. centos自动同步服务器时间

    原文:https://my.oschina.net/yysue/blog/1628733 1.安装ntpdate yum install ntpdate -y 2.测试是否正常 ntpdate cn. ...

  7. linux通过ntpd同步服务器时间,

    ntpd得rpm包下载地址:https://pkgs.org/download/ntp 比如我得服务器版本是centos7 x86的,那选择我点击的这一个: 下拉到最下面就有安装包下载了,我选择的是二 ...

  8. html+js 在页面同步服务器时间

    将以下的代码  放置html页面中! <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " ...

  9. 超炫的时间轴jquery插件Timeline Portfolio

    Timeline Portfolio是一款按时间顺序专业显示事件的jquery时间轴插件,可以根据时间的先后嵌入各种媒体包括微博,视频和地图等.这个展现的模式非常适合设计师的作品集和个人简历的展示.T ...

随机推荐

  1. 【Python之路】第二十一篇--Memcached、Redis

    Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度 ...

  2. 列表(List) 的增删改查及其他方法

    一.列表的简介   列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[ ]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如:li = ...

  3. 部署 jdk

    首先安装jdk jdk提供java环境变量 jvm虚拟机 为什么同一份java程序可以在不同系统上跑? 就是因为jdk jvm虚拟机使java支持 跨平台服务器部署 首先jvm 去读取java代码   ...

  4. mysql 从零学习

    一 .下载MySQL 访问MySQL的官网http://www.mysql.com/downloads/ 然后在页面中会看到“MySQL Community Server”下方有一个“download ...

  5. myeclipse如何删除自带Javaee里面jar包

    myeclipse是我们在使用Java开发时的一款不错的集成开发环境软件,一般在开发web项目的时候,都要引入相关的jar包,javaee包就是其中一个,有时候其里面的jar包可能与我们需要的不匹配, ...

  6. 子元素绝对定位absolute后,自动撑开宽度

    position: absolute;   white-space: nowrap;

  7. cf100989b

    http://codeforces.com/gym/100989/my B. LCS (B) time limit per test 0.25 seconds memory limit per tes ...

  8. Mysql5.7 用户与授权

    mysql -uroot -proot MySQL5.7 mysql.user表没有password字段改 authentication_string: 一. 创建用户: 命令:CREATE USER ...

  9. Linux下SSH中配置说明

    SSH 协议:安全外壳协议.为 Secure Shell 的缩写.SSH 为建立在应用层和传输层基础上的安全协议. sshd服务使用SSH协议可以用来进行远程控制,或在计算机之间传送文件.而实现此功能 ...

  10. GIT如何使用:大杀器!所有常用指令整理

    1 pwd 显示当前目录2 mkdir 创建目录 cd 进入文件3 git init 变成Git可以管理的仓库(千万不要修改目录下的.git隐藏文件夹)4 ls -ah 可以把.git文件显示出来5 ...