这段代码
if(rmin<=G.sr-G.mr){ //环食计算
this.LX='环';
this.sT[3] = this.lineT(G,v,u, G.sr-G.mr, 0); //食既
this.secXY(this.sT[3],L,fa,high,g);
this.sT[3] = this.lineT(g,v,u, g.sr-g.mr, 0); //食既再算1次
this.sT[4] = this.lineT(G,v,u, G.sr-G.mr, 1); //生光
this.secXY(this.sT[4],L,fa,high,g);
this.sT[4] = this.lineT(g,v,u, g.sr-g.mr, 1); //生光再算1次
this.dur = this.sT[4]-this.sT[3];
}
之后补三行代码试试:
if(rmin<=G.sr-G.mr){ //环食计算
this.LX='环';
this.sT[3] = this.lineT(G,v,u, G.sr-G.mr, 0); //食既
this.secXY(this.sT[3],L,fa,high,g);
this.sT[3] = this.lineT(g,v,u, g.sr-g.mr, 0); //食既再算1次
this.sT[4] = this.lineT(G,v,u, G.sr-G.mr, 1); //生光
this.secXY(this.sT[4],L,fa,high,g);
this.sT[4] = this.lineT(g,v,u, g.sr-g.mr, 1); //生光再算1次
this.dur = this.sT[4]-this.sT[3];
}
if(this.sT[0]<this.sun_s || this.sT[0]>this.sun_j) this.sT[0]=0;
if(this.sT[1]<this.sun_s || this.sT[1]>this.sun_j) this.sT[1]=0;
if(this.sT[2]<this.sun_s || this.sT[2]>this.sun_j) this.sT[2]=0;