前端 时间个性化 插件 jquery.timeago.js
关键词 :
时间格式化 刚刚 N分钟前 N小时前 N天前 N月前 N年前
MM-dd hh:mm 或者 yyyy-MM-dd
前端:
<span class="time" title="2016-07-23 12:02:32"></span>
用法:
$(".time").timeago();
插件: jquery.timeago.js
!function (t) {
function e(e) {
var n = t.extend(o.settings, e)
, s = t.proxy(r, this);
s(),
n.refreshMillis > 0 && setInterval(s, n.refreshMillis)
}
function r() {
var e = n(this)
, r = e.datetime;
return isNaN(r) || t(this).text(o.inWords(r)),
this
}
function n(e) {
return e = t(e),
e.data("timeago") || e.data("timeago", {
datetime: o.datetime(e)
}),
e.data("timeago")
}
function s(t) {
return (new Date).getTime() - t.getTime()
}
function i(t) {
var e = new Date;
return e.getMonth() > t.getMonth() || e.getDate() > t.getDate()
}
function a(t) {
return (new Date).getFullYear() > t.getFullYear()
}
Date.prototype.format = function (t) {
var e = {
"M+": this.getMonth() + 1,
"d+": this.getDate(),
"h+": this.getHours(),
"m+": this.getMinutes(),
"s+": this.getSeconds(),
"q+": Math.floor((this.getMonth() + 3) / 3),
S: this.getMilliseconds()
};
/(y+)/.test(t) && (t = t.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)));
for (var r in e)
new RegExp("(" + r + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? e[r] : ("00" + e[r]).substr(("" + e[r]).length)));
return t
}
;
var o = {
settings: {
refreshMillis: 6e4,
relative: !0,
strings: {
suffixAgo: "前",
seconds: "刚刚",
minute: "1分钟",
minutes: "%d分钟",
hour: "1小时",
hours: "%d小时",
days: "%d天",
months: "%d月",
years: "%d年",
numbers: []
},
yearsAgoFormat: "yyyy-MM-dd",
daysAgoFormat: "MM-dd hh:mm"
},
inWords: function (e) {
function r(e, r) {
var n = t.isFunction(e) ? e(r, u) : e
, s = g.numbers && g.numbers[r] || r;
return n.replace(/%d/i, s)
}
var n = o.settings.relative;
if (!n && a(e))
return e.format(this.settings.yearsAgoFormat);
if (!n && i(e))
return e.format(this.settings.daysAgoFormat);
var u = s(e)
, g = this.settings.strings
, h = g.suffixAgo
, d = Math.abs(u) / 1e3
, l = d / 60
, f = l / 60
, m = f / 24
, c = m / 30
, M = m / 365;
return words = 60 > d ? r(g.seconds, Math.floor(d)) : 60 > l ? r(g.minutes, Math.floor(l)) : 24 > f ? r(g.hours, Math.floor(f)) : 30 > m ? r(g.days, Math.floor(m)) : 365 > m ? r(g.months, Math.floor(c)) : r(g.years, Math.floor(M)),
"刚刚" == words ? words : words + h
},
parse: function (e) {
var r = t.trim(e);
return r = r.replace(/\.\d+/, ""),
r = r.replace(/-/, "/").replace(/-/, "/"),
r = r.replace(/T/, " ").replace(/Z/, " UTC"),
r = r.replace(/([\+\-]\d\d)\:?(\d\d)/, " $1$2"),
new Date(r)
},
datetime: function (e) {
var r = t(e).attr(o.isTime(e) ? "datetime" : "title");
return o.parse(r)
},
isTime: function (e) {
return "time" === t(e).get(0).tagName.toLowerCase()
}
};
t.fn.timeago = function (t) {
return this.each(function () {
e.call(this, t)
}),
this
}
}(window.jQuery)
前端 时间个性化 插件 jquery.timeago.js的更多相关文章
- jQuery滚动条插件 – jquery.slimscroll.js
jquery.slimscroll.js插件是一个支持把内容放在一个盒子里面,固定一个高度,超出的则使用滚动.jquery.slimscroll.js不仅可以定义高度.宽度,还可以定义位置.滚动条大小 ...
- 动态生成二维码插件 jquery.qrcode.js
前段时间做项目,需要动态生成一个二维码,于是就在网上找了一下发现一个jquery插件jquery.qrcode.js,所以今天就简单说一下这个插件的使用: jquery.qrcode.js是依赖jqu ...
- jQuery响应式幻灯片插件jquery.glide.js(支持触摸&轻量级)
找到一款好的幻灯片插件不容易,找到一款功能全并且使用很简单的幻灯片更不容易,今天为大家分享一款全能的幻灯片插件glide.js,也是我现在在使用的一款插件. jquery.glide.js是响应和触摸 ...
- 会跳高的字体插件jquery.beattext.js
插件描述:字体特效,会弹跳的字体插件jquery.beattext.js,兼容性如下: 使用方法 导入如下3个js文件: <script type="text/javascript&q ...
- jQuery分页插件(jquery.page.js)的使用
效果描述: 不用分页即可显示的jQuery插件 jQuery分页插件——jQuery.page.js用法很简单,效果很棒 1.前端 首先html的head中引入相关css与js <lin ...
- jquery插件jquery.LightBox.js之点击放大图片并左右点击切换图片(仿相册插件)
该插件乃本博客作者所写,目的在于提升作者的js能力,也给一些js菜鸟在使用插件时提供一些便利,老鸟就悠然地飞过吧. 此插件旨在实现目前较为流行的点击放大图片并左右点击切换图片的效果,您可以根据自己的实 ...
- jQuery插件 -- 表单验证插件jquery.validate.js, jquery.metadata.js
原文地址:http://blog.csdn.net/zzq58157383/article/details/7718352 最常使用JavaScript的场合就是表单的验证,而jQuery作为一个 ...
- 基于jQuery开发的手风琴插件 jquery.accordion.js
1.插件代码 少说多做,基于jQuery的手风琴插件jquery.accordion.js的代码: /* * 手风琴插件说明: * 1.treeTrunk对应树干 * 2.treeLeaf对应树叶 ...
- jQuery图片懒加载插件jquery.lazyload.js使用实例注意事项说明
jQuery图片懒加载插件jquery.lazyload.js使用实例注意事项说明 jquery.lazyload.js是一个用JavaScript编写的jQuery插件.它可以延迟加载长页面中的图片 ...
随机推荐
- 最小生成树のprim算法
Problem A Time Limit : 1000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Total Sub ...
- jQuery插件开发(转)
jQuery插件开发全解析 jQuery插件的开发包括两种: 一种是类级别的插件开发,即给jQuery添加新的全局函数,相当于给jQuery类本身添加方法.jQuery的全局函数就是属于jQuery命 ...
- Go语言配置与开发环境配置
1.首先下载go的运行时 http://golang.org/dl/ 下载windows 的zip版本,解压到硬盘上的一个位置 2.设置环境变量如下 GOBIN %GOROOT%\bin //go的 ...
- 如何Recycle一个SharePoint Web Application,以及为什么
当你发现SharePoint服务器的CPU或者内存使用率居高不下的时候,很多人都会选择iisreset来让资源使用率降下来.但是在企业环境中,这毫无疑问会使这台服务器中断服务从而影响到用户的使用,所以 ...
- SQL SERVER 查询表或字段在哪里使用过
select b.name from dbo.syscomments a, dbo.sysobjects b where a.id=b.id and b.xtype='p' and a.text li ...
- 配置Office 365单点登录摘要
O365: 如果O365账号之前做过测试,则停用同步,强制删除已有用户涉及命令:Remove-MsolUser -UserPrincipalName zhang_san@company.cn (-Re ...
- Sql 常见问题
join on and vs join on where SELECT * FROM Orders LEFT JOIN OrderLines ON OrderLines.OrderID=Orders. ...
- nginx服务器配置
nginx主要配置 #定义Nginx运行的用户和用户组user www www; #每个worker进程绑定到指定CPU ,均衡各CPU 负载worker_cpu_affinity 000000000 ...
- Thinkphp查询 1.查询方式 2.表达式查询 3.快捷查询 4.区间查询 5.组合查询 6.统计查询 7.动态查询 8.SQL 查询
1.使用字符串作为条件查询 $user = M('User'); var_dump($user->where('id=1 AND user="蜡笔小新"')->sele ...
- Linux学习笔记
性能问题排查: Linux系统出现了性能问题,一般我们可以通过top.iostat.free.vmstat等命令来查看初步定位问题.内存资源占用:free命令 IO占用:iostat -d -k 1 ...