mirror of
https://github.com/scratchfoundation/jquery-timeago.git
synced 2024-11-27 09:45:38 -05:00
Added $.timeago helper function
This commit is contained in:
parent
0000974025
commit
1a3b36cb18
2 changed files with 22 additions and 6 deletions
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Time Ago (for jQuery) version: 0.2.99 (07/19/2008)
|
* Time Ago (for jQuery) version: 0.3 (07/20/2008)
|
||||||
* @requires jQuery v1.2 or later
|
* @requires jQuery v1.2 or later
|
||||||
*
|
*
|
||||||
* Timeago is a jQuery plugin that makes it easy to support automatically
|
* Timeago is a jQuery plugin that makes it easy to support automatically
|
||||||
|
@ -15,9 +15,9 @@
|
||||||
*/
|
*/
|
||||||
(function($) {
|
(function($) {
|
||||||
$.timeago = function(timestamp) {
|
$.timeago = function(timestamp) {
|
||||||
// TODO: should take a Date, ISO8601, or element[title=iso8601]
|
if (timestamp instanceof Date) return inWords(timestamp);
|
||||||
// return words if date or iso8601; convert and return element if element
|
else if (typeof timestamp == "string") return inWords($.timeago.parse(timestamp));
|
||||||
alert("jQuery.timeago helper not implemented yet");
|
else return $(timestamp).timeago();
|
||||||
};
|
};
|
||||||
|
|
||||||
$.extend($.timeago, {
|
$.extend($.timeago, {
|
||||||
|
@ -60,15 +60,21 @@
|
||||||
|
|
||||||
var $s = $.timeago.settings;
|
var $s = $.timeago.settings;
|
||||||
if ($s.refreshMillis > 0) {
|
if ($s.refreshMillis > 0) {
|
||||||
setInterval(function() { self.each(refresh); }, ($s.refreshMillis));
|
setInterval(function() { self.each(refresh); }, $s.refreshMillis);
|
||||||
}
|
}
|
||||||
|
return self;
|
||||||
};
|
};
|
||||||
|
|
||||||
function refresh() {
|
function refresh() {
|
||||||
var date = $.timeago.parse(this.title);
|
var date = $.timeago.parse(this.title);
|
||||||
if (!isNaN(date)) {
|
if (!isNaN(date)) {
|
||||||
$(this).text($.timeago.inWords(distance(date)));
|
$(this).text(inWords(date));
|
||||||
}
|
}
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
function inWords(date) {
|
||||||
|
return $.timeago.inWords(distance(date));
|
||||||
}
|
}
|
||||||
|
|
||||||
function distance(date) {
|
function distance(date) {
|
||||||
|
|
10
test.html
10
test.html
|
@ -23,6 +23,11 @@
|
||||||
var string = $.timeago.inWords(parseInt(this.title) * 1000);
|
var string = $.timeago.inWords(parseInt(this.title) * 1000);
|
||||||
$(this).text(string);
|
$(this).text(string);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// unit tests
|
||||||
|
$("#helper_date").text($.timeago(new Date()));
|
||||||
|
$("#helper_string").text($.timeago(iso8601(new Date())));
|
||||||
|
$.timeago($("#helper_element"));
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
<style>
|
<style>
|
||||||
|
@ -83,5 +88,10 @@
|
||||||
<abbr class="towords" title="16416000"></abbr> [190 days]<br />
|
<abbr class="towords" title="16416000"></abbr> [190 days]<br />
|
||||||
<abbr class="towords" title="31622400"></abbr> [366 days]<br />
|
<abbr class="towords" title="31622400"></abbr> [366 days]<br />
|
||||||
<abbr class="towords" title="94608000"></abbr> [1095 days]<br />
|
<abbr class="towords" title="94608000"></abbr> [1095 days]<br />
|
||||||
|
|
||||||
|
<h1>Helper unit tests:</h1>
|
||||||
|
You opened this page <abbr id="helper_date"></abbr> [won't refresh]<br />
|
||||||
|
You opened this page <abbr id="helper_string"></abbr> [won't refresh]<br />
|
||||||
|
You opened this page <abbr id="helper_element" class="loaded"></abbr> [should refresh]<br />
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
Loading…
Reference in a new issue