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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章