我在很少的网站上工作,为我的大学的一个部门提供一些资源。 一切都非常好,因此,我试图增加一点功能,使事情更加直观。
如果你想看到完全的超文本结构和其他一切,那么,这里的网页是:{链接被删除以保护个人内容}
基本上,今年夏天我们重新负责的每个营地都有一行的桌子。 这是所有罚款和死胎。 我现在要做的是强调目前届会中任何营地的行踪(通过增加“流动”这一类别)。 鉴于我在 Java学的经验有限,这是我提出的:
<script type="text/javascript" >
$(document).ready(function() {
var today = new Date();
var Traffic_Court_Start = new Date("May 31 2012 12:01 AM");
var Traffic_Court_Stop = new Date("June 1 2012 11:59 PM");
var Summer_Enrichment_Start = new Date("June 10 2012 12:01 AM");
var Summer_Enrichment_Stop = new Date("June 16 2012 11:59 PM");
var Wbb_Ind_Start = new Date("June 11 2012 12:01 AM");
var Wbb_ind_Stop = new Date("June 14 2012 11:59 PM");
var Soccer_Referee_Start = new Date("June 15 2012 12:01 AM");
var Soccer_Referee_Stop = new Date("June 16 2012 11:59 PM");
var Broadcast_Start = new Date("June 17 2012 12:01 AM");
var Broadcast_Stop = new Date("June 21 2012 11:59 PM");
var Tennis_1_Start = new Date("June 17 2012 12:01 AM");
var Tennis_1_Stop = new Date("June 21 2012 11:59 PM");
var Tennis_2_Start = new Date("June 24 2012 12:01 AM");
var Tennis_2_Stop = new Date("June 28 2012 11:59 PM");
var Volleyball_Start = new Date("July 8 2012 12:01 AM");
var Volleyball_Stop = new Date("July 11 2012 11:59 PM");
var Soccer_1_Start = new Date("July 8 2012 12:01 AM");
var Soccer_1_Stop = new Date("July 12 2012 11:59 PM");
var IACAC_Start = new Date("July 9 2012 12:01 AM");
var IACAC_Stop = new Date("July 11 2012 11:59 PM");
var Summer_Forensics_Start = new Date("July 15 2012 12:01 AM");
var Summer_Forensics_Stop = new Date("July 28 2012 11:59 PM");
var Soccer_2_Start = new Date("July 22 2012 12:01 AM");
var Soccer_2_Stop = new Date("July 26 2012 11:59 PM");
var Cross_Country_Start = new Date("July 25 2012 12:01 AM");
var Cross_Country_Stop = new Date("July 28 2012 11:59 PM");
if((today <= Traffic_Court_Stop && today >= Traffic_Court_Start))
{
document.getElementById( traffic_court ).classList.add( active );
};
if((today <= Summer_Enrichment_Stop && today >= Summer_Enrichment_Start))
{
document.getElementById( summer_enrichment ).classList.add( active );
};
if((today <= Wbb_Ind_Stop && today >= Wbb_Ind_Start))
{
document.getElementById( wbb_ind ).classList.add( active );
};
if((today <= Soccer_Referee_Stop && today >= Soccer_Referee_Start))
{
document.getElementById( soccer_referee ).classList.add( active );
};
if((today <= Broadcast_Stop && today >= Broadcast_Start))
{
document.getElementById( broadcast ).classList.add( active );
};
if((today <= Tennis_1_Stop && today >= Tennis_1_Start))
{
document.getElementById( tennis_1 ).classList.add( active );
};
if((today <= Tennis_2_Stop && today >= Tennis_2_Start))
{
document.getElementById( tennis_2 ).classList.add( active );
};
if((today <= Volleyball_Stop && today >= Volleyball_Start))
{
document.getElementById( volleyball ).classList.add( active );
};
if((today <= Soccer_1_Stop && today >= Soccer_1_Start))
{
document.getElementById( soccer_1 ).classList.add( active );
};
if((today <= IACAC_Stop && today >= IACAC_Start))
{
document.getElementById( IACAC ).classList.add( active );
};
if((today <= Summer_Forensics_Stop && today >= Summer_Forensics_Start))
{
document.getElementById( summer_forensics ).classList.add( active );
};
if((today <= Soccer_2_Stop && today >= Soccer_2_Start))
{
document.getElementById( soccer_2 ).classList.add( active );
};
if((today <= Cross_Country_Stop && today >= Cross_Country_Start))
{
document.getElementById( cross_country ).classList.add( active );
};
});
</script>
As you can see, I start by getting today s date, then I specify the start and end dates for each of the camps. Then, I use a bunch of if-statements to determine if today is in between the start and end dates for each camp. If that is true, it adds the class "active" to the row corresponding to that camp.
看来对头两个营地的工作是正确的,即如果我把今天的价值改变到5月31日,就会突出第一行。 或者,如果我改为6月15日,就会突出第二行。 问题在于,如果今天是6月15日,它就应当在今年夏天强调BOTH,即富足和足球。 这只突出了夏季的富集。
I ve double-checked the element IDs that I reference, the spelling of my variables, etc. and everything seems to look correct (unless I missed something obvious). Is there any reason why I can t use the script as I ve presented it? I don t think this is the case, but is there a problem with using so many if-statements in a row like that? My only thought is that perhaps it thinks they are a bunch of else-cases but I thought I d escape that with the semi-colon after each if-statement.
任何想法? 或许是这样做的更好途径? 我对一些答复进行仔细研究,但似乎没有发现其他任何地方的类似情况(尽管我确信,在得到更好的执行之前已经这样做)。
THANKS FOR YOUR HELP!!!
EDIT:在得到其中一些答复的帮助之后,我对未来可能 st倒这一问题的使用者持有最后守则。
<script type="text/javascript">
$(document).ready(function() {
var today = new Date();
var SCHEDULE = {
tc : [ May 31 2012 , June 1 2012 ],
se : [ June 10 2012 , June 16 2012 ],
wbb : [ June 11 2012 , June 14 2012 ],
sr : [ June 15 2012 , June 16 2012 ],
broadcast : [ June 17 2012 , June 21 2012 ],
ten1 : [ June 17 2012 , June 21 2012 ],
ten2 : [ June 24 2012 , June 28 2012 ],
volleyball : [ July 8 2012 , July 11 2012 ],
soc1 : [ July 8 2012 , July 12 2012 ],
iacac : [ July 9 2012 , July 11 2012 ],
sf : [ July 15 2012 , July 28 2012 ],
soc2 : [ July 22 2012 , July 26 2012 ],
cc : [ July 25 2012 , July 28 2012 ]
};
for (var camp in SCHEDULE) {
console.log( checking + camp + , dates have to be within the + SCHEDULE[camp] + range );
//console.log(Date.parse(SCHEDULE[camp][0]));
if (today >= Date.parse(SCHEDULE[camp][0]) && today <= Date.parse(SCHEDULE[camp][1])) {
console.log(camp + is currently in session! );
document.getElementById(camp).classList.add( active );
};
};
});
</script>
THANKS A LOT EVERYONE!!!