Class-based Javascript analog clock
var analogClock = function (divElem, index) {
this.mainElem = divElem;
this.index = index;
var numStyles = Array();
numStyles["1"] = Array("1","2","3","4","5","6","7","8","9","10","11","12");
numStyles["i"] = Array("i","ii","iii","iv","v","vi","vii","viii","ix","x","xi","xii");
numStyles["I"] = Array("I","II","III","IV","V","VI","VII","VIII","IX","X","XI","XII");
numStyles["."] = Array("�","�","�","�","�","|","�","�","�","�","�","||");
this.position = analogClock.prototypes.position;
numstyle = String(this.mainElem.getAttribute('numstyle'));
if ("1I.".indexOf(numstyle.toUpperCase())==-1) numstyle="1";
var numstyle=numStyles[numstyle];
var radius = Math.floor(parseInt(this.mainElem.getAttribute('size'))/2);
if (isNaN(radius)) radius=50;
this.mainElem.style.width=radius*2;
this.mainElem.style.height=radius*2;
this.mainElem.style.position='relative';
this.mainElem.style.overflow='hidden';
this.mainElem.style.margin='0px';
this.mainElem.style.padding='0px';
//Create Hour labels
this.hourLabels = Array();
for (var i=0; i=24) Hour-=12;
while (Hour=12)?"PM":"AM";
this.AmPm.style.bottom=1.333*radius;
this.AmPm.style.left=radius-parseInt(this.AmPm.offsetWidth)/2;
this.AmPm.style.zIndex=-1;
this.DoW.innerHTML=Week[Today.getDay()];
this.DoW.style.top=0.666*radius;
this.DoW.style.left=radius-parseInt(this.DoW.offsetWidth)/2;
this.DoW.style.zIndex=-1;
this.City.innerHTML=this.mainElem.getAttribute('city');
this.City.style.bottom=0.666*radius;
this.City.style.left=radius-parseInt(this.City.offsetWidth)/2;
this.City.style.zIndex=-1;
this.Country.innerHTML=this.mainElem.getAttribute('country');
this.Country.style.top=1.333*radius;
this.Country.style.left=radius-parseInt(this.Country.offsetWidth)/2;
this.Country.style.zIndex=-1;
}
analogClock.arClocks = new Array();
analogClock.replace = function () {
var Divs = document.getElementsByTagName('div');
for (var i=0; i= lso) gmtAdjust -= 1;
return gmtAdjust;
}
analogClock.needDST = function (a) {
if ((a-5)) return 0;
var day;
var Today = new Date();
var dst=0;
var lsm = new Date;
var lso = new Date;
lsm.setMonth(2); lsm.setDate(31); day = lsm.getDay(); lsm.setDate(31-day);
lso.setMonth(9); lso.setDate(31); day = lso.getDay(); lso.setDate(31-day);
if (Today >= lsm || Today
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.