?? main.js
字號:
if (cld[d].lDay == 20) mnname = '更待月';
if (cld[d].lDay == 21) mnname = '漸虧凸月';
if (cld[d].lDay == 22) mnname = '下弦月';
if (cld[d].lDay == 23) mnname = '下弦月';
if (cld[d].lDay == 26) mnname = '娥眉殘月';
if (cld[d].lDay == 27) mnname = '娥眉殘月';
if (cld[d].lDay == 28) mnname = '殘月';
if (cld[d].lDay == 29) mnname = '曉月';
if (cld[d].lDay == 30) mnname = '晦月';
moonimg='<IMG SRC="images/img_Calendar/img_Moonage/moon' + cld[d].lDay + '.gif" WIDTH=55 HEIGHT=55>'
sg.innerHTML ='<b>月相:'+mnname+'</b>';
sg2.innerHTML =s;
sg3.innerHTML =cld[d].dGz;
sg4.innerHTML =cld[d].sgz;
sg5.innerHTML =moonimg;
dayglu1.innerHTML =cld[d].dayglu+' '+cld[d].ssfw;
}
}
function Main(v,T) {
var OutString = "";
var quady = new Array;
var sunp = new Array;
var moonp = new Array;
var y, m, day, glong, glat, tz, numday, mj, lst1, i,jwnum,jing,jings,wei,weis,XZ,hb,yb1,yb2;
var rads = 0.0174532925, sinmoonalt;
var sObj=eval('SD'+ v);
var d=sObj.innerHTML-1;
if(sObj.innerHTML!='') {
y=cld[d].sYear;
m=cld[d].sMonth;
jwnum=CLD.per_des;
if(jwnum==undefined){
jing='113';
jings='07';
wei='23';
weis='02';
hb=0;
yb1=37;
} else {
XZ=getString(jwnum,5);
hb=getString(jwnum,10);
if(XZ==0) XZ='';
jing=XZ+''+getString(jwnum,4)+''+getString(jwnum,3);
jings=getString(jwnum,2)+''+getString(jwnum,1);
wei=getString(jwnum,9)+''+getString(jwnum,8);
weis=getString(jwnum,7)+''+getString(jwnum,6);
yb1=(getString(jwnum,12)+''+getString(jwnum,11))*1;
}
if(T==7){
today = new Date () ;
day =today.getDate();
} else {
day =cld[d].sDay;
}
glong = parseInt(jing)+parseFloat(jings)/60;
glat = parseInt(wei)+parseFloat(weis)/60;
tz = parseFloat(8);
mj = mjd(day, m, y, 0.0);
rcrl.innerHTML ='<a style="cursor: help" onmouseout="hidetip2()" onmouseover=showtip2(this,event,"","2","'+yb1+'")>'+
Cal(mj, tz, glong, glat,hb)+'<br><span style="line-height: 20px; color:#804000">◇東經:'+jing+'.'+jings+'度 ◇北緯:'+wei+'.'+weis+'度 <br></a>';
}
}
function hrsmin(hours) {
var hrs, h, m, dum;
hrs = Math.floor(hours * 60 + 0.5)/ 60.0;
h = Math.floor(hrs);
m = Math.floor(60 * (hrs - h) + 0.5);
if(h<10)h="0"+h;
if(m<10)m="0"+m;
dum = h +"時"+ m+"分";
if (dum < 1000) dum = "0" + dum;
if (dum <100) dum = "0" + dum;
if (dum < 10) dum = "0" + dum;
return dum;
}
function ipart(x) {
var a;
if (x> 0) {
a = Math.floor(x);
} else {
a = Math.ceil(x);
}
return a;
}
function frac(x) {
var a;
a = x - Math.floor(x);
if (a < 0) a += 1;
return a;
}
function round(num, dp) {
return Math.round (num * Math.pow(10, dp)) / Math.pow(10, dp);
}
function range(x) {
var a, b;
b = x / 360;
a = 360 * (b - ipart(b));
if (a < 0 ) {
a = a + 360
}
return a
}
function mjd(day, month, year, hour) {
var a, b;
if (month <= 2) {
month = month + 12;
year = year - 1;
}
a = 10000.0 * year + 100.0 * month + day;
if (a <= 15821004.1) {
b = -2 * Math.floor((year + 4716)/4) - 1179;
} else {
b = Math.floor(year/400) - Math.floor(year/100) + Math.floor(year/4);
}
a = 365.0 * year - 679004.0;
return (a + b + Math.floor(30.6001 * (month + 1)) + day + hour/24.0);
}
function quad(ym, yz, yp) {
var nz, a, b, c, dis, dx, xe, ye, z1, z2, nz;
var quadout = new Array;
nz = 0;
a = 0.5 * (ym + yp) - yz;
b = 0.5 * (yp - ym);
c = yz;
xe = -b / (2 * a);
ye = (a * xe + b) * xe + c;
dis = b * b - 4.0 * a * c;
if (dis > 0) {
dx = 0.5 * Math.sqrt(dis) / Math.abs(a);
z1 = xe - dx;
z2 = xe + dx;
if (Math.abs(z1) <= 1.0) nz += 1;
if (Math.abs(z2) <= 1.0) nz += 1;
if (z1 < -1.0) z1 = z2;
}
quadout[0] = nz;
quadout[1] = z1;
quadout[2] = z2;
quadout[3] = xe;
quadout[4] = ye;
return quadout;
}
function lmst(mjd, glong) {
var lst, t, d;
d = mjd - 51544.5
t = d / 36525.0;
lst = range(280.46061837 + 360.98564736629 * d + 0.000387933 *t*t - t*t*t / 38710000);
return (lst/15.0 + glong/15);
}
function minisun(t) {
var p2 = 6.283185307, coseps = 0.91748, sineps = 0.39778;
var L, M, DL, SL, X, Y, Z, RHO, ra, dec;
var suneq = new Array;
M = p2 * frac(0.993133 + 99.997361 * t);
DL = 6893.0 * Math.sin(M) + 72.0 * Math.sin(2 * M);
L = p2 * frac(0.7859453 + M / p2 + (6191.2 * t + DL)/1296000);
SL = Math.sin(L);
X = Math.cos(L);
Y = coseps * SL;
Z = sineps * SL;
RHO = Math.sqrt(1 - Z * Z);
dec = (360.0 / p2) * Math.atan(Z / RHO);
ra = (48.0 / p2) * Math.atan(Y / (X + RHO));
if (ra <0 ) ra += 24;
suneq[1] = dec;
suneq[2] = ra;
return suneq;
}
function sin_alt(iobj, mjd0, hour, glong, cglat, sglat) {
var mjd, t, ra, dec, tau, salt, rads = 0.0174532925;
var objpos = new Array;
mjd = mjd0 + hour/24.0;
t = (mjd - 51544.5) / 36525.0;
if (iobj == 1) {
objpos = minimoon(t);
} else {
objpos = minisun(t);
}
ra = objpos[2];
dec = objpos[1];
tau = 15.0 * (lmst(mjd, glong) - ra);
salt = sglat * Math.sin(rads*dec) + cglat * Math.cos(rads*dec) * Math.cos(rads*tau);
return salt;
}
function getzttime(mjd, tz, glong) {
var sglong, sglat, date, ym, yz, utrise, utset, j;
var yp, nz, hour, z1, z2, iobj, rads = 0.0174532925;
var quadout = new Array;
sinho = Math.sin(rads * -0.833);
date = mjd - tz/24;
hour = 1.0;
ym = sin_alt(2, date, hour - 1.0, glong, 1, 0) - sinho;
while(hour < 25) {
yz = sin_alt(2, date, hour, glong, 1, 0) - sinho;
yp = sin_alt(2, date, hour + 1.0, glong, 1, 0) - sinho;
q
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -