В этой статье описывается эффект Beautiful Time Selection Box JS. Поделитесь этим для вашей ссылки, следующим образом:
HTML -кодовая часть:
<html><script language=javascript src="dataone.js"></script><table align="center"><tr><td><body>(1)Select date only<input type="text" name="date" readOnly onClick="setDay(this);"><br/> (2)Select date and hour<input type="text" name="dateh" readOnly onclick = "setDayH (this);"> <br/> (3) Выберите дату и час и минуту <input type = "text" name = "datehm" readonly onclick = "setDayhm (this);"> </body> </td> </tr> </table> </html>
dataOne.js код:
/*** Метод использования: * (1) Выберите только дату <input type = "text" name = "date" readonly onclick = "setDay (this);"> * (2) Выберите дату и час <input type = "text" name = "dateh" readonly onclick = "setdayh (this); onclick = "setDayhm (this);"> * Метод для настройки параметров * (1) Установите Date SetDatesPlit (strsplit); по умолчанию «-» * (2) Установите разделитель между датой и временем setDateTimesplit (strsplit); по умолчанию «» * (3) Установите время сепаратора сепаратора (strsplit); по умолчанию «:» * (4) Установите сепаратор в (1), (2), (3) setSplit (strdatesplit, strdateTimesplit, strtimesplit); * (5) Установите начальный и конечный год setyearperiod (intdatebeg, intdateend) * Описание: * Возвращенный по умолчанию формат даты и времени следующим образом: 2005-02-02 08:08 */// // --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- «Высота: 16px; размер шрифта: 9pt; цвет: белый; граница: 0 твердое #ccccc; cursor: hand; фоновый цветореал: #2650a6;»; // кнопки для круглогодичного, месяца и т. Д. var s_tiannet_turn = "ширина: 28px;" + s_tiannet_turn_base; // Закройте, очистите и т. Д. + s_tiannet_turn_base; // Выберите раскрывающуюся поле для круглогодичного VAR S_TIANNET_SELECT = "Ширина: 64PX; DISPLAY: NONE;"; // Выберите раскрывающуюся коробку месяца, час и минута var s_tiannet_select2 = "width: 46px; display: none;"; // Стиль управления выбором даты. + "Слево с границы: 1 твердое вещество #CCCC; пограничная топ: 1 твердое вещество #CCCC; граница правая: 1 твердое вещество #999999; граница с боттерей: 1 твердое вещество № 999999;"; // Стиль TD, показывающий день var s_tiannet_day = "Ширина: 21px; высота: 20px; фоновый цвет:#d8f0fc; font-size: 10pt;"; // Стиль шрифта var s_tiannet_font = "color:#ffcc00; font-size: 9pt; cursor: hand;"; // Стиль ссылки var s_tiannet_link = "Текстовое-декорация: нет; размер font: 9pt; цвет:#2650a6;"; // horily line var s_tiannet_line = "border-bottom: 1 твердый #6699cc"; // ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 2010; // Selectable конечного года var tiannetdatenow = new Date (); var tiannetyear = tiannetDateNow.getfyear (); // начальное значение переменной, определяющей год var tiannetmonth = tiannetdatenow.getmonth ()+1; // начальное значение переменной определяющей месяц var tiannetday = tiannetDateNow.getDate (); var tiannethour = 8; // tiannetDateNow.gethours (); var tiannetminute = 0; // tiannetDateNow.getMinutes (); var tiannetarrday = новый массив (42); // массив, который определяет дату var tiannetdatesplit = "-"; // дата сепаратор VAR TianNetDateTimesPlit = ""; // дата разделителя VAR TiannetTimesplit = ":"; // сепаратор времени VAR TianNetOutObject; // объект, который получает дату и время var arrtiannethide = new Array (); // Метка, которая вынуждена быть скрытой var m_bolshowhour = false; // Делает ли час var m_bolshowminute = false; //, чтобы отобразить минуту var m_amonhead = new Array (12); // Определите максимальное количество дней в месяц в григорианском календаре M_AMONHEAD [0] = 31; m_amonhead [1] = 28; m_amonhead [2] = 31; m_amonhead [3] = 30; m_amonhead [4] = 31; m_amonhead [5] = 30; m_amonhead [6] = 31; m_amonhead [7] = 31; m_amonhead [8] = 30; m_amonhead [9] = 31; m_amonhead [10] = 30; m_amonhead [11] = 31; // ------------------------------------------------------------------------------ /// Функция основного вызова пользователя-выберите только функцию даты SetDay (OBJ) {tianNetOutObject = obj; // Если есть значение в теге, инициализируйте дату к текущему значению var strvalue = tiannettrim (tiannetoutobject.value); if (strvalue! = "") {tiannetInitDate (strValue); } tianNetPopCalendar (); } // Функция основного вызова пользователя - выберите функцию даты и час SetDayH (OBJ) {tianNetOutObject = obj; m_bolshowhour = true; // Если есть значение в теге, дата и час инициализируются до текущего значения var strvalue = tiannettrim (tiannetoutobject.value); if (strvalue! = "") {tiannetinitdate (strvalue.substring (0,10)); var our = strvalue.substring (11,13); if (час <10) tiannethour = час. Substring (1,2); } tianNetPopCalendar (); } // Функция основного вызова пользователя - выберите дату и час и минутную функцию setDayhm (obj) {tiannetOutObject = obj; m_bolshowhour = true; m_bolshowminute = true; // Если есть значение в теге, инициализируйте дату, час и минуту до текущего значения var strvalue = tiannettrim (tiannetoutobject.value); if (strvalue! = "") {tiannetinitdate (strvalue.substring (0,10)); var time = strvalue.substring (11,16); var arr = time.split (tiannettimesplit); tiannethour = arr [0]; tiannetminute = arr [1]; if (tiannethour <10) tiannethour = tiannethour.substring (1,2); if (tiannetminute <10) tiannetminute = tiannetminute.substring (1,2); } tianNetPopCalendar (); } // Установите функцию даты начала и даты окончания setyearPeriod (intdatebeg, intdateend) {tiannetyearst = intdatebeg; tiannetyearend = intdateend; } // Установите разделитель даты. По умолчанию-«-» function setDatesPlit (strdatesPlit) {tianNetDatesPlit = strdatesPlit; } // Установите разделитель между датой и временем. По умолчанию - это «» функция setDateTimesplit (strdateTimesplit) {tiannetDateTimesplit = strDateTimesplit; } // Установите сепаратор времени. По умолчанию - «:» Function CettimePlit (strtimesplit) {tiannettimesplit = strtimesplit; } // Установить функцию сепаратора setSplit (strdatesplit, strdatetimesplit, strtimesplit) {tiannetdatesplit (strdatesplit); tiannetDateTimesplit (strdateTimesplit); tiannettimesplit (strtimesplit); tiannettimesplit (strtimesplit); } // Установить дату по умолчанию. Формат: yyyy-mm-dd function setdefaultdate (strdate) {tiannetyear = strdate.substring (0,4); tiannetmonth = strdate.substring (5,7); tiannetday = strdate.substring (8,10); } // Установить время по умолчанию. Формат: HH24: MI Function SetDefaulttime (strtime) {tiannethour = strime.substring (0,2); tiannetminute = strime.substring (3,5); } // ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ style = "'+s_tiannet_body+'" style = "Этот элемент управления выбором календаря улучшается Tiannet на основе опыта предыдущих поколений!"> '); document.write ('<<div align = "center" id = "divtiannetDateText" author = "tiannet" style = "padding-top: 2px;">'); document.write ('<span id = "tiannetyearhead" author = "tiannet" style = "'+s_tiannet_font+'' '+' onclick =" spanyearcevent (); "> Год </span> '); document.write ('<select id = "seltianyear" style = "'+s_tiannet_select+'" author = "tiannet"'+'onchange = "tiannetyear = this.value; tiannetsetday (tiannetyear, tiannetmonth); document.tiannetyearhead. 'this.style.display =/' none/'; ">'); for (var i = tiannetyearst; i <= tiannetyearend; i ++) {document.writeln ('<option value = "' + i + '">' + i + 'Год </option>'); } document.write ('</select>'); document.write ('<span id = "tiannetmonthhead" author = "tiannet" style = "'+s_tiannet_font+'' '+' onclick =" spanmanthcevent (); "> месяц </span> '); document.write ('<select id = "seltianmonth" style = "'+s_tiannet_select2+'" author = "tiannet"'+'onchange = "tiannetmonth = this.value; tiannetsetday (tiannetyear, tiannetmonth); document.alliannethehhead.style.display ='/'+'; 'this.style.display =/' none/'; ">'); for (var i = 1; i <= 12; i ++) {document.writeln ('<vition value = "' + i + '">' + i + 'month </option>'); } document.write ('</select>'); //document.write ('</div>'); //document.write('<div align = "center" id = "divtiannettimetext" Author = "tiannet"> '); document.write ('<span id = "tiannethourhead" author = "tiannet" style = "'+s_tiannet_font+'display: none;"'+'onclick = "spanhourcevent ();"> Когда </span>'); document.write ('<select id = "seltianhour" style = "'+s_tiannet_select2+'display: none;" author = "tiannet"'+'onchange = "tiannethour = this.value; tiannetWrite (); document.all.tiannethour.style.display =/'/'; 'this.style.display =/' none/'; ">'); for (var i = 0; i <= 23; i ++) {document.writeln ('<vition value = "' + i + '">' + i + 'time </option>'); } document.write ('</select>'); document.write ('<span id = "tiannetminutehead" author = "tiannet" style = "'+s_tiannet_font+'display: none;"'+'onclick = "spanminutecevent ();"> point </span>'); document.write ('<select id = "seltianminute" style = "'+s_tiannet_select2+'display: none;" author = "tiannet"'+'onchange = "tiannetminute = this.value; tiannetWrite (); document.all.tiannetminute.style.display =/'/'; 'this.style.display =/' none/'; ">'); for (var i = 0; i <= 59; i ++) {document.writeln ('<vition value = "' + i + '">' + i + 'point </option>'); } document.write ('</select>'); document.write ('</div>'); // Вывод горизонтальной линии Document.Write ('<div style = "'+s_tiannet_line+'"> </div>'); document.write ('<<div align = "center" id = "divtiannetturn" style = "border: 0;" Author = "tiannet">'); document.write ('<<input type = "button" style = "'+s_tiannet_turn+'" value = "Год ↑" onclick = "tiannetPrevyear ();">'); document.write ('<<input type = "button" style = "'+s_tiannet_turn+'" value = "Год ↓" onclick = "tiannetnextyear ();">'); document.write ('<<input type = "button" style = "'+s_tiannet_turn+'" value = "Год ↓" onclick = "tiannetnextyear ();">'); document.write ('<<input type = "button" style = "'+s_tiannet_turn+'" value = "месяц ↑" onclick = "tiannetprevmonth ();">'); document.write ('<<input type = "button" style = "'+s_tiannet_turn+'" value = "month ↓" onclick = "tiannetnextmonth ();">'); document.write ('</div>'); // Вывод горизонтальной линии Document.Write ('<div style = "'+s_tiannet_line+'"> </div>'); document.write ('<table border = 0 cell -spacing = 0 cellpadding = 0 bgcolor = white on selectstart = "return false">'); document.write ('<tr style = "foangy-color:#2650a6; font-size: 10pt; цвет: белый; высота: 22px;" Автор = "tiannet">'); for (var i = 0; i <weewname.length; i ++) {// Вывод документ WeekDay.Write ('<td align = "center" Author = "tiannet">' + weekName [i] + '</td>'); } document.write ('</tr>'); document.write ('</table>'); // Выберите DOMPOUT DOMONTER.WRITE ('<TABLE BODER = 0 CellPacing = 1 CellPadding = 0 bgcolor = White OnselectStart = "return false">'); var n = 0; for (var i = 0; i <5; i ++) {document.write ('<tr align = center id = "trtiannetday' + i + '">'); for (var j = 0; j <7; j ++) {document.write ('<td align = "center" id = "tdtiannetday' + n + '' ' +' onclick =" tiannetday = this.innertext; tiannetsetValue (true); n ++; } document.write ('<tr align = center id = "trtiannetday5">'); document.write ('<td align = "center" id = "tdtiannetday35" onclick = "tiannetday = this.innertext; tiannetsetvalue (true);" +' style = "' + s_tiannet_day +'"> </td> '); document.write ('<td align = "center" id = "tdtiannetday36" onclick = "tiannetday = this.innertext; tiannetsetvalue (true);" +' style = "' + s_tiannet_day +'"> </td> '); document.write ('<td align = "right" colspan = "5"> <a href = "javascript: tiannetclear ();" style = "' + s_tiannet_link + '"> clear </a>' + '<a href = "javascript: tiannethidecontrol ();" style = " + s_tianne:"> neally' '> neula' '> neallianne_' stice_ 'styannk +' ' +' '<a href = "javascript: tiannetsetvalue (true);" style = "' + s_tiannet_link + '"> ok </a>' + '</td>'); document.write ('</tr>'); document.write ('</table>'); document.write ('</div>'); //------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- spanYearCEvent(){ hideElementsById(new Array ("seltianyear", "tiannetmonthhead"), false); if (m_bolshowhour) hideelementsbyid (new Array ("tiannethourhead"), false); if (m_bolshowminute) hideelementsbyid (new Array ("tiannetminutehead"), false); hideelementsbyid (new Array ("tiannetyearhead", "seltianmonth", "seltianhour", "seltianminute"), true); } // Нажмите на тег месяца, чтобы ответить функции spanThcevent () {hideelementsbyid (new Array ("seltianmonth", "tiannetyearhead"), false); if (m_bolshowhour) hideelementsbyid (new Array ("tiannethourhead"), false); if (m_bolshowminute) hideelementsbyid (new Array ("tiannetminutehead"), false); hideelementsbyid (new Array ("tiannetmonthhead", "seltianyear", "seltianhour", "seltianminute"), true); } // Нажмите на функцию ответа тега часового тега spanhourcevent () {hideelementsbyid (new Array ("tiannetyearhead", "tiannetmonthhead"), false); if (m_bolshowhour) hideelementsbyid (new Array ("seltianhour"), false); if (m_bolshowminute) hideelementsbyid (new Array ("tiannetminutehead"), false); hideelementsbyid (new Array ("tiannethourhead", "seltianyear", "seltianmonth", "seltianminute"), true); } // Нажмите на функцию ответа на теги Minite Span SpnminuteCevent () {hideelementsbyid (new Array ("tiannetyearhead", "tiannetmonthhead"), false); if (m_bolshowhour) hideelementsbyid (new Array ("tiannethourhead"), false); if (m_bolshowminute) hideelementsbyid (new Array ("seltianminute"), false); hideelementsbyid (new Array ("tiannetminutehead", "seltianyear", "seltianmonth", "seltianhour"), true); } // скрыть или отображать функцию тега HeadelementsbyId (arrid, bolhide) {var strdisplay = ""; if (bolhide) strdisplay = "none"; for (var i = 0; i <arrd.length; i ++) {var obj = document.getElementById (arrid [i]); obj.style.display = strdisplay; }} //----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- if ((месяц == 2) && ispinyear (Год)) C ++; возврат C; } // Сбросить текущий день. Главным образом, чтобы предотвратить текущий день превышать максимальный день месяца, когда год отменяется или отменяется месяц. function setReAldayCount () {if (tianNetday> getMonthCount (tiannetyear, tiannetmonth)) {// Если текущий день больше максимального дня месяца, то максимальный день месяца принимается. tiannetday = getmonthcount (tiannetyear, tiannetmonth); }} // Добавить ноль перед однозначными цифрами функция addzero (value) {if (value <10) {value = "0" + value; } return value; } // Получить пространственную функцию tiannettrim (str) {return str.replace (/(^/s*) | (/s*$)/g, ""); } // Создать функцию опции createOption (ObjSelect, значение, текст) {var option = document.createElement ("option"); option.value = value; Option.Text = Text; ObjSelect.options.add (опция); } // Функция Flip Forward Function tiannetPrevyear () {if (tiannetyear> 999 && tiannetyear <10000) {tiannetyear--;} else {alert ("Год из диапазона (1000-9999)!"); // Если год меньше минимального допускаемого года, создайте соответствующий вариант, если (tiannetyear <tiannetyearst) {tiannetyearst = tiannetyear; createoption (document.all.seltianyear, tiannetyear, tiannetyear + «Год»); } checkselect (document.all.seltianyear, tiannetyear, tiannetyear); tiannetWritehead (); } // Flip Year Function tiannetNextyear () {if (tiannetyear> 999 && tiannetyear <10000) {tiannetyear ++;} else {alert ("Год вне диапазона (1000-9999)!"); return;} tiannetsetDay (tiannetyear, tiannetmonth); // Если год превышает максимально разрешенный год, создайте соответствующий вариант, если (tiannetyear> tiannetyearend) {tiannetyearend = tiannetyear; createoption (document.all.seltianyear, tiannetyear, tiannetyear + «Год»); } checkselect (document.all.seltianyear, tiannetyear, tiannetyear); tiannetWritehead (); } // Выберите сегодня функцию tiannettoday () {tiannetyear = tiannetDateNow.getfyear (); tiannetmonth = tiannetdatenow.getmonth ()+1; tiannetday = tiannetDateNow.getDate (); tiannetsetValue (true); // tiannetsetday (tiannetyear, tiannetmonth); // selectObject (); } // Следуйте месяцу месяца функции tiannetprevmonth () {if (tiannetmonth> 1) {tiannetmonth-} else {tiannetyear-; tiannetmonth = 12;} tiannetsetday (tiannetyear, tiannetmonth); CheckSelect (document.all.seltianmonth, tiannetmonth); tiannetWritehead (); } // Следуйте месяце функции tiannetNextMonth () {if (tiannetmonth == 12) {tiannetyear ++; tiannetmonth = 1} else {tiannetmonth ++} tiannetsetday (tiannetyear, tiannetmonth); CheckSelect (document.all.seltianmonth, tiannetmonth); tiannetWritehead (); } // Написать год, месяц, время, минута и другие данные в функцию тега SPAN TianNetWriteHead () {document.all.tiannetyearhead.innertext = tiannetyear + "Год"; document.all.tiannetmonthhead.innertext = tiannetmonth + "месяц"; if (m_bolshowhour) document.all.tiannethourhead.innertext = "" + tiannethour + "time"; if (m_bolshowminute) document.all.tiannetminutehead.innertext = tiannetminute + "minots"; tiannetsetValue (false); // назначить значения текстовому поле, но не скрыть это элемент управления} // Установить функцию отображения day tiannetsetday (yy, mm) {setReAldayCount (); // Установите реальный день месяца TianNetWriteHead (); var strdatefont1 = "", strdatefont2 = "" // обучить стиль даты отображения для (var i = 0; i <37; i ++) {tiannetarrday [i] = ""}; // очистить все содержимое ящика дисплея var day1 = 1; var firstday = новая дата (yy, mm-1,1) .getday (); // день недели первого дня определенного месяца для (var i = первой день; day1 <getMonthCount (yy, mm) +1; i ++) {tiannetarrday [i] = day1; day1 ++; } // Если значение первой ячейки, используемой для отображения последней строки дня, пусто, скрыть всю строку. // if (tiannetarrday [35] == "") {// document.all.trtiannetday5.style.display = "none"; //} else {// document.all.trtiannetday5.style.display = ""; //} for (var i = 0; i <37; i ++) {var da = eval ("document.all.tdtiannetday"+i) // Написание даты и недельного расположения нового месяца if (tiannetarrday [i]! strdatefont1 = "<font color =#f0000>" strdatefont2 = "</font>"} else {strdatefont1 = ""; strdatefont2 = ""} da.innerhtml = strdatefont1 + tiannetarrday [i] + strdatefont2; // Если это в настоящее время выбранный день, измените цвет if (tiannetarrday [i] == tiannetday) {da.style.backgroundcolor = "#cccccc"; } else {da.style.backgroundcolor = "#efef"; } da.style.cursor = "hand"} else {da.innerhtml = ""; da.style.backgroundcolor = ""; da.style.cursor = "default"}} // end для tiannetsetvalue (false); // Присвоение значению к текстовому боксу, но не спрятать функцию управления} // end tiante -nectytday. CHECKSELECT (OBJSECTECT, SELECTVALUE) {var Count = parseInt (ObjSelect.Length); if (selectValue <10 && selectValue.toString (). Length == 2) {selectValue = selectValue.subString (1,2); } for (var i = 0; i <count; i ++) {if (ObjSelect.Options [i] .value == selectValue) {ObjSelect.SelectedIndex = i; перерыв; }} // для} // Выберите функцию раскрывающегося окна SelectObject () {// Если год меньше минимального допустимого года, создайте соответствующую опцию if (tiannetyear <tiannetyearst) {for (var i = tiannethyear; i <tiannethyearst; i ++) {createoption (document.seltianyear, i + "); } tiannetyearst = tiannetyear; } // Если год превышает максимально разрешенный год, создайте соответствующий вариант, если (tiannetyear> tiannetyearend) {for (var i = tiannetyearend + 1; i <= tiannetyear; i ++) {createoption (document.allianyear, i, i + "Год"); } tiannetyearend = tiannetyear; } checkselect (document.all.seltianyear, tiannetyear); CheckSelect (document.all.seltianmonth, tiannetmonth); if (M_BOLSHOWHOUR) CHECKSELECT (Document.all.seltianhour, Tiannethour); if (M_BOLSHOWMINUTE) CHECKSELECT (Document.all.seltianminute, tiannetminute); } // Присвоение значению управлению, которое принимает дату и время // Параметры BolhideControl - Сможет ли функция управления tiannetsetValue (bolhidecontrol) {var value = ""; if (! tiannetday || tiannetday == "") {tiannetoutobject.value = value; возвращаться; } var mm = tiannetmonth; var day = tiannetday; if (mm <10 && mm.toString (). длина == 1) mm = "0" + mm; if (day <10 && day.toString (). длина == 1) day = "0" + day; value = tiannetyear + tiannetdatesplit + mm + tiannetdatesplit + day; if (m_bolshowhour) {var hour = tiannethour; if (час <10 && hour.toString (). Length == 1) Hour = "0" + час; значение + = tiannetDateTimesplit + час; } if (m_bolshowminute) {var minute = tiannetminute; if (минута <10 && minute.toString (). Length == 1) Minute = "0" + минута; значение + = tiannettimesplit + минута; } tiannetOutObject.value = value; //document.all.divtiannetdate.style.display = "none"; if (bolhidecontrol) {tiannethidecontrol (); }} // Это отображает функцию времени showtime () {if (! M_bolshowhour && m_bolshowminute) {alert ("Если вы хотите выбрать минуты, вы должны быть в состоянии выбирать часы!"); возвращаться; } hideElementsByid (new Array ("tiannethourhead", "seltianhour", "tiannetminutehead", "seltianminute"), true); if (m_bolshowhour) {// показывать часы hideelementsbyid (new Array ("tiannethourhead"), false); } if (m_bolshowminute) {// показать минуты hideelementsbyid (new Array ("tiannethourhead"), false); } if (m_bolshowminute) {// показать минуты hideelementsbyid (new Array ("tiannetminutehead"), false); }} // Управление выбора календаря появляется, чтобы позволить пользователю выбирать функцию tiannetPopcalendar () {// скрыть раскрывающуюся поле, чтобы отобразить соответствующие укрытия головы (New Array («seltianyear», «seltianmonth», «seltianhour», «seltianminute»), True); hideelementsbyid (new Array ("tiannetyearhead", "tiannetmonthhead", "tiannetminutehead"), false); tiannetsetday (tiannetyear, tiannetmonth); tiannetWritehead (); время для шоу(); var dads = document.all.divtiannetdate.style; var ix, iy; var h = document.all.divtiannetdate.offsetheight; var w = document.all.divtiannetdate.offsetwidth; // Рассчитать левое if (window.event.x + h> document.body.offsetwidth - 10) ix = window.event.x - h - 5; иначе ix = window.event.x + 5; if (ix <0) ix = 0; // Рассчитать верхний iy = window.event.y; if (window.event.y + w> document.body.offsetheight - 10) iy = document.body.scrolltop + document.body.offsetheight - w - 5; иначе iy = document.body.scrolltop + window.event.y + 5; if (iy <0) iy = 0; dads.left = ix; dads.top = iy; tiannetshowcontrol (); selectObject (); } // скрыть управление календаря (показывая принудительные скрытые теги одновременно) функция tiannethidecontrol () {document.all.divtiannetdate.style.display = "none"; tiannetshowobject (); arrtiannethide = new Array (); // очистить скрытый объект тега} // Показать управление календарем (одновременно скрыть теги) tiannetshowcontrol () {document.all.divtiannetdate.style.display = ""; tiannethideObject ("select"); tiannethideObject ("объект"); } // скрыть теги в соответствии с именем тега. Если выбор элемента будет заблокирован, функция объекта tiannethideObject (strtagname) {x = document.all.divtiannetdate.offsetleft; y = document.all.divtiannetdate.offsettop; h = document.all.divtiannetdate.offsetheight; w = document.all.divtiannetdate.offsetwidth; for (var i = 0; i <document.all.tags (strtagname) .length; i ++) {var obj = document.all.tags (strtagname) [i]; if (! obj ||! obj.offsetparent) продолжить; // Получить относительные координаты элемента для тега тела var objleft = obj.offsetleft; var objtop = obj.offsettop; var objheight = obj.offsetheight; var objwidth = obj.offsetwidth; var objparent = obj.offsetParent; while (objparent.tagname.touppercase ()! = "body") {objleft += objparent.offsetleft; objtop += objparent.offsettop; objparent = objparent.OffSetParent; } // alert («Левый конец элемента управления:» + x + «Выберите левый конец» + (objleft + objwidth) + «нижняя часть элемента управления:» + (y + h) + »выберите High:« + objtop); var bolhide = true; if (obj.style.display == "none" || obj.style.visibility == "hidden" || obj.getAttribute ("Автор") == "tiannet") {// Если сам тег скрыт, он больше не должен скрываться. Если это раскрывающаяся коробка в управлении, она не должна быть скрыта. Bolhide = false; } if (((objleft + objwidth)> x && (y + h + 20)> objtop && (objtop + objheight)> y && objleft <(x + w)) && bolhide) {//arrtiannethide.push(obj) ;//Record hidden arrtianThide.sembershibj =//record hidden arrtianthide.gronthidehide. obj.style.visibility = "hidden"; }}} // Показать функцию скрытой тега tiannetshowobject () {for (var i = 0; i <arrtiannethide.length; i ++) {// alert (arrtiannethide [i]); arrtiannethide [i] .style.visibility = ""; }} // Дата инициализации. function tiannetinitdate (strdate) {var arr = strdate.split (tiannetdatesplit); tiannetyear = arr [0]; tiannetmonth = arr [1]; tiannetday = arr [2]; } // Очистить функцию tiannetClear () {tiannetOutObject.value = ""; tiannethideControl (); } // Закрыть элемент управления при нажатии на любой функциональный Document.onclick () {с (window.event.srcelement) {if (tagname! = "Input" && getattribute ("Author")! = "Tiannet") tiannethideControl (); }} // Нажмите клавишу ESC, чтобы закрыть документ управления функцией.nkeypress () {if (event.keycode == 27) {tiannethideControl (); }}For more information about JavaScript related content, please check out the topics of this site: "Summary of JSON operation skills in JavaScript", "Summary of JavaScript switching effects and techniques", "Summary of JavaScript search algorithm skills", "Summary of JavaScript animation special effects and techniques", "Summary of JavaScript errors and debugging skills", "Summary of JavaScript data structures and Алгоритм навыки »,« Сводка алгоритмов и методов обхода JavaScript »и« Сводка использования математических операций JavaScript ».
Я надеюсь, что эта статья будет полезна для каждого программирования JavaScript.