以下は、jsの構文の一部です。繰り返しの質問になりますが、重要なことが抜けていたのです。
構文の中で、function changeDiaType(DiaDay)と書くと、構文チェックサイトで、関数宣言→関数式への返還を求められました。
実際に試してみましたが、必ずvar changeDiaType = function()と書くようになり、せっかく、
//平日ダイヤと土・休日ダイヤの入れ替えと
//各列車が本日運転する列車なのかそうでないのかを判定する
//引数はその列車の運転日情報 例:平日 全日 土・休日で指定したDiaDayの値を破棄し、ご破算にせざるを得ません。
もう、泣き寝入りしかありません。
何かいい方法はないでしょうか。
//平日ダイヤと土・休日ダイヤの入れ替え
function judgeDiaDay()
{
setYear = nowYear; //年
setMonth = nowMonth; //月
setDate = nowDate; //日
setDay = nowDay; //曜日
//3時より前なら前日扱いにする
if(HHMMSSToSecond(nowHour, nowMinute, nowSecond) < dayChangeTime)
{
nowDateSet.setDate(nowDateSet.getDate()-1);
setYear = nowDateSet.getYear(); //年 setMonth = nowDateSet.getMonth() + 1; //月 setDate = nowDateSet.getDate(); //日 setDay = nowDateSet.getDay(); //曜日
}
if(setYear < 2000) setYear += 1900; //年の補正、1900プラスしとかないといけない場合があるため
//平日ダイヤか祝日ダイヤの判定
if(dayJudge(setYear, setMonth, setDate, setDay))
{
//表示させる欄が存在すれば、表示させる
if(document.getElementById("todayDiaDaySpan") != null)
{
document.getElementById("todayDiaDaySpan").innerHTML = " 平日ダイヤ ";
document.getElementById("todayDiaDaySpan").style.backgroundColor = "#9ff";
}
DiaDay = 0;
}
else if((dayJudge(setYear, setMonth, setDate, setDay)) && (!(DiaDay == 0)))
{
//表示させる欄が存在すれば、表示させる
if(document.getElementById("todayDiaDaySpan") != null)
{
document.getElementById("todayDiaDaySpan").innerHTML = " 土・休日ダイヤ ";
document.getElementById("todayDiaDaySpan").style.backgroundColor = "#9ff";
}
DiaDay = 1;
}
else
{
//表示させる欄が存在すれば、表示させる
if(document.getElementById("todayDiaDaySpan") != null)
{
document.getElementById("todayDiaDaySpan").innerHTML = "土曜ダイヤ";
document.getElementById("todayDiaDaySpan").style.backgroundColor = "#fcf";
}
DiaDay = 2;
}
}
//各列車が本日運転する列車なのかそうでないのかを判定する
//引数はその列車の運転日情報 例:平日 全日 土・休日
function judgeTrainRunningDay(value)
{
if(value == "全日")
return true;
//平日ダイヤ
else if(value == "平日" && DiaDay == 0)
return true;
else if(value == "土曜・休日運休" && DiaDay == 0)
return true;
else if(value == "毎日運転" && DiaDay == 0)
return true;
//土・休日ダイヤ
else if(value == "休日" && DiaDay == 1)
return true;
else if(value == "土休日" && DiaDay == 1)
return true;
else if(value == "土・休日" && DiaDay == 1)
return true;
else if(value == "土曜・休日運転" && DiaDay == 1)
return true;
else if(value == "毎日運転" && DiaDay == 1)
return true;
//土曜ダイヤ
else if(value == "土曜" && DiaDay == 2)
return true;
else if(value == "毎日運転" && DiaDay == 2)
return true;
else
return false;
}
//平日ダイヤと土・休日ダイヤの入れ替え
function timeButtonInterfaceUpdate()
{
//引数がtrueなら、リアルタイムモードのインタフェースに
if(true)
{
realtimeUpdate = true;
document.getElementById("realTimeModeStatusDiv").innerHTML = " リアルタイム表示中 ";
//ドロップダウンリストの有効化
document.form1.updateIntervalSelect.disabled = false;
}
else
{
realtimeUpdate = false;
document.getElementById("realTimeModeStatusDiv").innerHTML = "リアルタイム表示にする";
//ドロップダウンリストの無効化
document.form1.updateIntervalSelect.disabled = true;
//もしタイマーが事前にかかっていたら、止める clearInterval(updateIntervalTimer); {
function changeDiaType=(DiaDay)
{
if(DiaDay = 2)
{
document.getElementById("todayDiaDaySpan").innerHTML = "土曜ダイヤ";
document.getElementById("todayDiaDaySpan").style.backgroundColor = "#fcf";
DiaDay=2;
}
else if(DiaDay = 1)
{
document.getElementById("todayDiaDaySpan").innerHTML = "土・休日ダイヤ";
document.getElementById("todayDiaDaySpan").style.backgroundColor = "#fcf";
DiaDay=1;
}
else
{
document.getElementById("todayDiaDaySpan").innerHTML = " 平日ダイヤ ";
document.getElementById("todayDiaDaySpan").style.backgroundColor = "#9ff";
DiaDay=0;
}
}}}
//時刻表データ再読み込み
getTimeTable();
//再表示
setNewTime(setSecondSum);
//路線図に列車を配置していく
drawTrain();
//時刻表スペースをリセット
var idName = "staTimetableTime0Div";
document.getElementById(idName).innerHTML = "駅名をクリックすると、時刻表が表示されます。";
var idName = "staTimetableTime1Div";
document.getElementById(idName).innerHTML = "";
var idName = "staTimetableTimeTitle0Div";
document.getElementById(idName).innerHTML = "";
var idName = "staTimetableTimeTitle1Div";
document.getElementById(idName).innerHTML = "";
//インタフェース再セット
//timeButtonInterfaceUpdate(true);
}
あなたの回答
tips
プレビュー