westdc-zf1/htdocs/static/js/jquery.jclock.js

142 lines
3.6 KiB
JavaScript

// JavaScript Document
(function($) {
$.fn.jclock = function(options) {
$.fn.jclock.timerID = null;
$.fn.jclock.running = false;
$.fn.jclock.el = null;
var version = '0.1.1';
// Download by http://www.codefans.net
// options
var opts = $.extend({}, $.fn.jclock.defaults, options);
return this.each(function() {
$this = $(this);
$.fn.jclock.el = $this;
var o = $.meta ? $.extend({}, opts, $this.data()) : opts;
$.fn.jclock.withDate = o.withDate;
$.fn.jclock.withWeek = o.withWeek;
$.fn.jclock.timeNotation = o.timeNotation;
$.fn.jclock.am_pm = o.am_pm;
$.fn.jclock.utc = o.utc;
$this.css({
fontFamily: o.fontFamily,
fontSize: o.fontSize,
backgroundColor: o.background,
color: o.foreground
});
$.fn.jclock.startClock();
});
};
$.fn.jclock.startClock = function() {
$.fn.jclock.stopClock();
$.fn.jclock.displayTime();
}
$.fn.jclock.stopClock = function() {
if($.fn.jclock.running) {
clearTimeout(timerID);
}
$.fn.jclock.running = false;
}
$.fn.jclock.displayTime = function(el) {
var date = $.fn.jclock.getDate();
var week = $.fn.jclock.getWeek();
var time = $.fn.jclock.getTime();
$.fn.jclock.el.html(date + week + time);
timerID = setTimeout("$.fn.jclock.displayTime()",1000);
}
$.fn.jclock.getDate = function() {
if($.fn.jclock.withDate == true) {
var now = new Date();
var year, month, date;
if($.fn.jclock.utc == true) {
year = now.getUTCFullYear();
month = now.getUTCMonth() + 1;
date = now.getUTCDate();
} else {
year = now.getFullYear();
month = now.getMonth() + 1;
date = now.getDate();
}
month = ((month < 10) ? "0" : "") + month;
date = ((date < 10) ? "0" : "") + date;
var dateNow = year + "-" + month + "-" + date + " ";
} else {
var dateNow = "";
}
return dateNow;
}
$.fn.jclock.getWeek = function() {
if($.fn.jclock.withWeek == true) {
var now = new Date();
var week;
if($.fn.jclock.utc == true) {
week = now.getUTCDay();
} else {
week = now.getDay();
}
$.each(["日","一","二","三","四","五","六"],function(i,n) {
if(i == week) {week = n; return;}
});
var weekNow = "周" + week + " ";
} else {
var weekNow = "";
}
return weekNow;
}
$.fn.jclock.getTime = function() {
var now = new Date();
var hours, minutes, seconds;
if($.fn.jclock.utc == true) {
hours = now.getUTCHours();
minutes = now.getUTCMinutes();
seconds = now.getUTCSeconds();
} else {
hours = now.getHours();
minutes = now.getMinutes();
seconds = now.getSeconds();
}
if ($.fn.jclock.timeNotation == '12h') {
hours = ((hours > 12) ? hours - 12 : hours);
} else {
hours = ((hours < 10) ? "0" : "") + hours;
}
minutes = ((minutes < 10) ? "0" : "") + minutes;
seconds = ((seconds < 10) ? "0" : "") + seconds;
var timeNow = hours + ":" + minutes + ":" + seconds;
if ( ($.fn.jclock.timeNotation == '12h') && ($.fn.jclock.am_pm == true) ) {
timeNow += (hours >= 12) ? " P.M." : " A.M."
}
return timeNow;
};
// plugin defaults
$.fn.jclock.defaults = {
withDate:false,
withWeek:false,
timeNotation: '24h',
am_pm: false,
utc: false,
fontFamily: '',
fontSize: '',
foreground: '',
background: ''
};
})(jQuery);