Недавно нашел календарик, он отлично работает в ИЕ, но не работает в Firefox. Помогите исправить функцию fSetSelectedDay и fUpdateCal. | Код | <script LANGUAGE="JavaScript">
<!-- Begin var dDate = new Date(); var dCurMonth = dDate.getMonth(); var dCurDayOfMonth = dDate.getDate(); var dCurYear = dDate.getFullYear(); var objPrevElement = new Object();
//на onmouseover и onmouseout даты календаря function fToggleColor(myElement) { var toggleColor = "#ff0000"; if (myElement.id == "calDateText") { if (myElement.color == toggleColor) { myElement.color = ""; } else { myElement.color = toggleColor; } } else if (myElement.id == "calCell") { for (var i in myElement.children) { if (myElement.children[i].id == "calDateText") { if (myElement.children[i].color == toggleColor) { myElement.children[i].color = ""; } else { myElement.children[i].color = toggleColor; } } } } }
//выделение выбранной даты function fSetSelectedDay(myElement){ if (myElement.id == "calCell") { if (!isNaN(parseInt(myElement.children["calDateText"].innerText))) { myElement.bgColor = "#0054e3"; //myElement.style.color= "#FFFFFF"; objPrevElement.bgColor = ""; document.all.calSelectedDate.value = parseInt(myElement.children["calDateText"].innerText); objPrevElement = myElement; } } }
//количество дней в месяце года function fGetDaysInMonth(iMonth, iYear) { var dPrevDate = new Date(iYear, iMonth, 0); return dPrevDate.getDate(); }
//строим сам календарь function fBuildCal(iYear, iMonth) { var aMonth = new Array(); aMonth[0] = new Array(7); aMonth[1] = new Array(7); aMonth[2] = new Array(7); aMonth[3] = new Array(7); aMonth[4] = new Array(7); aMonth[5] = new Array(7); aMonth[6] = new Array(7); var dCalDate = new Date(iYear, iMonth-1, 1); //установили дату на нужный месяц и год первого числа var iDayOfFirst = dCalDate.getDay(); //номер дня недели когда первое число var iDaysInMonth = fGetDaysInMonth(iMonth, iYear); //количество дней в году var iVarDate = 1; var i, d, w; aMonth[0][0] = "Вс"; aMonth[0][1] = "Пн"; aMonth[0][2] = "Вт"; aMonth[0][3] = "Ср"; aMonth[0][4] = "Чт"; aMonth[0][5] = "Пт"; aMonth[0][6] = "Сб"; for (d = iDayOfFirst; d < 7; d++) { aMonth[1][d] = iVarDate; iVarDate++; } for (w = 2; w < 7; w++) { for (d = 0; d < 7; d++) { if (iVarDate <= iDaysInMonth) { aMonth[w][d] = iVarDate; iVarDate++; } } } return aMonth; }
//вывод на экран календаря function fDrawCal(iYear, iMonth) { var myMonth; myMonth = fBuildCal(iYear, iMonth); document.write("<table border='0' cellpadding='0' cellspacing='0'>") document.write("<tr class='Header'>"); document.write("<td>" + myMonth[0][0] + "</td>"); document.write("<td>" + myMonth[0][1] + "</td>"); document.write("<td>" + myMonth[0][2] + "</td>"); document.write("<td>" + myMonth[0][3] + "</td>"); document.write("<td>" + myMonth[0][4] + "</td>"); document.write("<td>" + myMonth[0][5] + "</td>"); document.write("<td>" + myMonth[0][6] + "</td>"); document.write("</tr>"); for (w = 1; w < 7; w++) { document.write("<tr>") for (d = 0; d < 7; d++) { document.write("<td class='Item' id=calCell style='CURSOR:Hand' onMouseOver='fToggleColor(this)' onMouseOut='fToggleColor(this)' onclick=fSetSelectedDay(this)>"); if (!isNaN(myMonth[w][d])) { document.write("<font id=calDateText onMouseOver='fToggleColor(this)' style='CURSOR:Hand;' onMouseOut='fToggleColor(this)' onclick=fSetSelectedDay(this)>" + myMonth[w][d] + "</font>"); } else { document.write("<font id=calDateText onMouseOver='fToggleColor(this)' style='CURSOR:Hand;' onMouseOut='fToggleColor(this)' onclick=fSetSelectedDay(this)> </font>"); } document.write("</td>") } document.write("</tr>"); } document.write("</table>") }
//на select при изменение состояния месяца и года, т.е. при выборе другого function fUpdateCal(iYear, iMonth) { myMonth = fBuildCal(iYear, iMonth); objPrevElement.bgColor = ""; document.all.calSelectedDate.value = ""; for (w = 1; w < 7; w++) { for (d = 0; d < 7; d++) { if (!isNaN(myMonth[w][d])) { calDateText[7*(w-1)+d].innerText = myMonth[w][d]; } else { calDateText[7*(w-1)+d].innerText = " "; } } } } // End --> </script>
|
Присоединённый файл ( Кол-во скачиваний: 3 )
0004.rar 1,59 Kb
|