Dieser Artikel beschreibt die Implementierung eines Datumsauswählten, der von JS auf Sekunden korrekt ist. Teilen Sie es für Ihre Referenz wie folgt weiter:
<Script> // Die Hauptaufruffunktion ist festgelegt (dieses, [Objekt]) und eingestellt (dies). [Objekt] ist der Steuernamenausgang nach der Steuerung. Geben Sie zwei Beispiele an. Z-Index: 9998; 1px solide; Hintergrundfarbe: #63a3e9; Schriftfamilie: 安安;} '; Strframe+=' td {Schriftgröße: 9PT; Schriftfamilie: 安安安;} '; Strframe+=' </style> '; strframe+=' <Scr '+'; BDRAG; '; Strframe+=' Funktionsdokument window.event.clientx-datelayerx; '; strframe+=' datElayer.postop+= window.event.clienty-datelayery;}} '; StrFrame+=' Funktion dragStart () '; Strframe+=' {var datElayer = parent.document.All.All.endDatel. datElayerx = window.event.clientX; '; Strframe+=' datElayery = window.event.clienty; '; Strframe+=' BDRAG = true;} '; Strframe+=' Funktion dragend () {'; Strframe+=' bdag = false;} '; style = "z-Index: 9999; Position: Absolut; links: 0; Top: 0;" OnselectStart = "return false"> '; strframe+=' <span id = tmpSelectyearlayer style = "z-Index: 9999; Position: absolut; top: 3; links: 19; Anzeige: Keine"> </span> '; 78; Anzeige: Keine "> </span> '; Strframe+=' <span id = tmpSelecthourlayer style =" z-Index: 9999; Position: Absolut; Top: 188; 188; BorderColor =#63A3E9 BGCOLOR =#63A3E9> '; Strframe+=' <tr> <td Breite = 142 Höhe = 23 Bgcolor =#fffffff> '; Strframe+=' <Table Border = 0 Cellpacing = 1 Cellpadding = 0 WidthTh = 158 Höhe = 23>; <td width = 16 align = center bgcolor = #63a3e9 style = "font-size: 12px; cursor: Hand; Farbe: #ffffff" '; strframe+=' onclick = "parent bgcolor = "#63a3e9" style = "Schriftgröße: 12px; Cursor: Hand" '; Strframe+=' onmouseover = "style.backgroundcolor =/'#aaccf3/'" '; onclick = "parent '; strframe+=' bgcolor = "#63a3e9" onmouseover = "style.backgroundcolor =/'#aaccf3/'" '; strframe+=' onmouseout = "style.backgroundcolor =/'#63a3e9/' ''; onclick = "parent.tmpSelectmonthmerhtml (this.inNerText.Length == 3? this.inNerText.Substring (0,1): this.innerText.substring (0,2)") "; bgcolor = #63a3e9 align = center style = "font size: 12px; cursor: Hand; Farbe: #ffffff" '; Strframe+=' onclick = "parent.meizznextm ()"> <b >> </b> </td> '; </table> </td> </tr> '; Strframe+=' <tr> <td breit = 142 Höhe = 18> '; Strframe+=' <table border = 0 cellpacing = 0 cellpadding = 2 bgcolor =#63a3e9 '+(bmovable? BorderColorlight =#63A3E9 BorderColordark =#fffffff width = 140 hohe = 20 style = "curSor: ' + (bmovable?' Move ':' Standard ' +'"> '; style="font-size:12px;color:#FFFFFF" >One</td><td style="font-size:12px;color:#FFFFFF">t</td>';strFrame+='<td style="font-size:12px;color:#FFFFFF" >One</td><td style = "Schriftgröße: 12px; Farbe: #ffffff"> t </td> '; Strframe+=' <td style = "font-size: 12px; color: #ffffff"> ein </td> <td style = "font-size: 12px; color: #ffffffffffrpe"> ein </td>; style = "Schriftgröße: 12px; Farbe: #ffffff"> sechs </td> <td style = "font-size: 12px; color: #ffffff"> Six </td> <td style = "font-size: 12px; color: #ffff"> sechs </td> </tr> '; > '; Strframe+=' <tr> <Tabellengrenze = 1 Cellpacing = 2 CellPadding = 2 BorderColorlight =#63A3E9 BorderColordark =#fffff BgColor =#fff8ec Breite = 140 Höhe = 120> '; var n = 0; für (j = 0; j <5; j ++) {strframe+= '<tr align = center>'; für (i = 0; i <7; i ++) {strframe+= '<td width = 20 height = 20 id = meizzday'+n+'style = "font size: 12px" onclick = parent.meizzdayclick (this.inNertext, 0)> </td>'; n ++; . onclick="parent.setNull()" style="font-size:12px;cursor: hand"';strFrame+=' onmouseover="style.color=/'#ff0000/'" onmouseout="style.color=/'#1478eb/'">Empty</span><span onclick="parent.meizzToday()" style="font-size:12px;cursor: hand"';strFrame+=' onmouseover="style.color=/'#ff0000/'" onmouseout="style.color=/'#1478eb/'">Current</span><span style="cursor:hand" id=evaAllOK onmouseover="style.color=/'#ff0000/'" onmouseout = "style.color =/'#1478EB/'" onclick = "parent bgcolor =#ffffff height = 22> '; strframe+=' <tr bgcolor = "#63a3e9"> <td id = busetimelayer width = 30 style = "cursor: Hand" '; Strframe+=' onMouseover = "style.backgroundcolor =/'#aAccf3/" Align = Align = Align = Align = Align = Align = zentral = onmouseout = "style.backgroundcolor =/'#63a3e9/'" '; Strframe+=' onclick = "Eltern. onclick = "parent.tmpSeleChourInnerhtml (this.inNertext.length == 3? this.inNerText.substring (0,1): this.inNerText.substring (0,2))" '; onmouseout = "style.backgroundcolor =/'#63a3e9/'" '; Strframe+=' align = center width = 42> '; strframe+=' <span id = meizzHourhead> </span> </td> '; onclick = "parent.tmpSelectminuteInNerHtml (this.inNertext.length == 3? this.inNerText.Substring (0,1): this.inNerText.substring (0,2))"; onmouseout = "style.backgroundColor =/'#63a3e9/'" '; Strframe+=' align = center wide onclick = "parent.tmpSelectsecondinnerhtml (this.inNertext.length == 3? this.inNerText.substring (0,1): this.inNerText.substring (0,2))"; onmouseout = "style.backgroundcolor =/'#63a3e9/'" '; strframe+=' align = center width = 42> '; strframe+=' <span id = meizzSecondhead> </span> </td> '; strframe+=' </tr> </td> </tr> </table> </div> '; window.frames.endDatelayer.document // Lösen Sie das Problem, das der IE -Fortschrittsbalken nicht tut end//================================================================================================================= =======================================================ieben ================================================================= Webseite Anzeige part============================================================ ====================================================================== ====================================================================== ====================================================================== ====================================================================== ====================================================================== ====================================================================== ====================================================================== odatelayer = window.endDatelayer.document Parameter, die in dieses Kontroll übergeben wurden! "); zurück;} if (Argumente.Length == 0) {alert (" sorry! Sie haben keine Parameter an diese Steuerung übergeben! "); // Der Positionierungspunkt der TT -Steuerung ist hoch var sie = tt.clientHeight; // Die hohe Var der TT -Steuerung selbst ist tleft = tt.offsetLeft; // Der Positionierungspunkt der TT -Steuerung ist breit var typ = tt.type; // Der Typ der TT -Steuerung ist while (tt = tt.offsetParent) {ttop+= tt.offsettop; tleft+= tt.offsetLeft;} dads.top = (TTYP == "Bild")? ttop+thei: ttop+thei+6; dads.left = tleft; outObject = (Argumente.Length == 1)? th: obj; outbutton = (Argumente.Length == 1)? NULL: TH; // Setzen Sie die externe Klick-Schaltfläche // Zeigen Sie das Kalenderjahr und den Monat an. Var reg =/^(/d+)-(/d {1,2})-(/d {1,2})/; // Ausschluss von Zeit var r = outObject.Value.Match (reg); if (r! = Null) {r [2] = r [2] -1; var d = neues Datum (R [1], R [2], R [3]); if (d.sGetingfoyear () == r [1] && d.getMonth () == r [2] && d.getDate () == r [3]) {outdate = d; Elternschaft.Meitztheyear = R [1]; Parent.MeitzTHONTH = R [2]; parent.meickThedate = r [3]; } else {outdate = ""; } meizzsetday (r [1], r [2] +1);} else {outdate = ""; MEIZZSETDAY (neuer Datum (). GetFriyear (), neues Datum (). GetMonth () + 1);} dads.display = ''; // Beurteile, ob die Verwendungszeit während der Initialisierung verwendet wird, nicht strikte Überprüfung // if (outObject.value.length> 10) // {busetime = true; Bimgswitch (); odatelayer.busetimelayer.innerhtml = bimg; meizzwriteHead (meiztzheyear, meitzthonten); //} // else // {// busetime = false; // Bimgswitch (); // odatelayer.busetimelayer (e) {// Der Fehler ist hier ausgeschlossen, die Ursache des Fehlers wurde noch nicht gefunden. }} var monhead = new Array (12); // Definieren Sie die maximale Anzahl der Tage pro Monat im gregorianischen Kalender Monhead [0] = 31; Monhead [1] = 28; Monhead [2] = 31; Monhead [3] = 30; Monhead [4] = 31; Monhead [5] = 30; Monhead [6] = 31; Monhead [7] = 31; Monhead [8] = 30; Monhead [9] = 31; Monhead [10] = 30; Monhead [11] = 31; var meiztztheyear = neues Datum (). GetFriyear (); // Definieren Sie den Anfangswert der Variablen des Jahres var meitzthonten = new Date (). GetMonth ()+1; // Definieren Sie den Anfangswert der Variablen des Monats var meitzthedate = new Date (). GetDate (); // Definieren Sie den Anfangswert der Variablen des Tages var meickthehour = new Date (). Gethers (); // Definieren Sie den Anfangswert der Stunden variablen var Meitztheminute = neues Datum (). GetMinutes (); // Definieren Sie den Anfangswert der winzigen variablen Variablen var myizzthesecond = new Date (). GetEconds (); // Definieren Sie den Anfangswert der zweiten variablen varablen var Meizzwday = Neuarray (37); // Array, das das Schreibdatum definiert. closelayer ();} else if (document.activeLement) {if (document.activeLement! = outObject && document.activeLement! "Jahr"; Odatelayer. Minuten "):" "; Odatelayer Nummer! "); Rückgabe;} var m = (Stryear)? Stryear: New Date (). GetFlyear (); if (m <1000 || m> 9999) {alert ("Jahr Wert ist nicht zwischen 1000 und 9999!"); 12px '"s +=" onblur =' document.all.tmpSelectyeArlayer.Style.Display =/"None/" '"S +=" Onchange =' document.All.tmpSelectyearlayer.Style.DiSlay =/"None/"; parent.meizzSetDay(parent.meizzTheYear,parent.meizzTheMonth)'>/r/n";var selectInnerHTML = s;for (var i = n; i < n + 101; i++){ if (i == m) { selectInnerHTML += "<option value='" + i + "' selected>" + i + "year" + "</option>/r/n"; } else {selectInnerHtml + = "<Option Value = '" + i + "'>" + i + "Jahr" + "</option>/r/n"; }} selectInnerHtml += "</select>"; odatelayer.tmpSelectyearlayer.style.display = ""; tmpSelectmonthhinnerHtml (strmonth) // Pulldown-Box für Monat {if (strmonth.match (// d/)! = null) {alert ("Der Monatseingangsparameter ist keine Zahl!"); Strmonth: New Date (). getMonth () +1; var "onchange = 'document.all.tmpSelectmontHlayer.Style.Display =/" none/";" S+= "Parent.MeickThonthe = this.value; Elternschaft.Meizzsetday (Elternteil.Meitztheyear, Elternschaft)'>/r/n"; (i == m) {selectInnerHtml+= "<option value = '"+i+"' ausgewählt>"+i+"Monat"+"</option>/r/n"; } else {selectInnerHtml+= "<Option Value = '"+i+"'>"+i+"Monat"+"</option>/r/n"; }} selectInnerHtml += "</select>"; odatelayer.tmpSelectmontHlayer.Style.Display = ""; TMPSELECHOURINNERHTML (strhour) // Hour Dropdown-Box {if (! busetime) {return;} if (strhour.match (// d/)! Strhour: New Date (). Gethours (); var "onchange = 'document.all.tmpSeleCthourLayer.Style.Display =/" none/";" S+= "Eltern. if (i == m) {selectInnerHtml+= "<Option Value = '"+i+"' ausgewählt>"+i+"</option>/r/n"; } else {selectInnerHtml+= "<Option Value = '"+i+"'>"+i+"</option>/r/n"; }} selectInnerHtml += "</select>"; odatelayer.tmpSeleChourLayer.Style.display = ""; tmpSelectMinuteInnerHtml (strminute) // Minute Dropdown-Box {if (! busetime) {return;} if (strminute.match (// d/)! Strminute: neues Datum (). getMinutes (); var "onchange = 'document.all.tmpSelectminUtelayer.Style.Display =/" none/";" S += "Parent.Meitzthemut = this.value; Elternschaft.evasettime (Elternschaft (meizzzzycktheHour", Elternschaft. i ++) {if (i == m) {selectInNerHtml+= "<Option Value = '"+i+"ausgewählt>"+i+"</option>/r/n"; } else {selectInnerHtml+= "<Option Value = '"+i+"'>"+i+"</option>/r/n"; }} selectInerHtml += "</select>"; odatelayer.tmpSelectMinUtelayer.Style.display = ""; tmpSelectSecondinnerhtml (strSecond) // zweite Dropdown-Box {if (! busetime) {return;} if (strSecond.match (// d/)! STRSECOND: NEW DATE (). getMinutes (); var "onchange = 'document.all.tmpSelectSecondLayer.Style.Display =/" None/"; S +=" Parent.MeizzTheSecond = this.value; parent.evasettime (parent.meizztheHour, parent.meitztheminute, parent.meizzthesecond). 0; i <60; } else {selectInnerHtml+= "<Option Value = '"+i+"'>"+i+"</option>/r/n"; }} selectInerHtml += "</select>"; odatelayer.tmpSelectSecondLayer.Style.Display = ""; {var o = document.getElementById ("Enddatelayer"); if (o! = null) {o.style.display = "none";}} Funktion showlayer () // Die Schließung dieser Schicht {document.all.endDatelayer.style.Dislasplay = "; (0 == Jahr%4 && ((Jahr%100! = 0) || (Jahr%400 == 0)) Return true; sonst return false;} Funktion GetMonthCount (Jahr, Monat) // Februar des Schaltjahres ist 29 Tage {var c = monhead [Monat-1]; if (Monat == 2) && ispinyear (Jahr). der Woche eines bestimmten Tages {var c = monhead [Monat-1]; if ((monat == 2) && ispinyear (Jahr)) c ++; return c;} Funktion getdow (Tag, Monat, Jahr) // Finden Sie den Tag der Woche der Woche eines bestimmten Tages {var dt = neues Datum (Jahr, Monat, Tag, Tag) .Getay ()/7; return dt;} function meizzprevy () // Flip Year {if (meiztztheyear> 999 && meiztzheyear <10000) {meiztzheyear-;} sonst Jahr {if (meiztztheyear> 999 && meiztzheyear <10000) {meiztzheyear ++;} else {alert ("Jahr außerhalb der Reichweite (1000-999999)!");} Meizzsetday (meizztheyear, meiztztheaten); meitztoday () // Today Button {parent.meitztheyear = new Date (). GetFriyear (); Parent.MeitzThonthen = new Date (). Date (). . format (parent.meitzthonten) + "-" + format (parent.meickThedate) + "" + Format (parent.meickTheHour) + ":" + format (parent.meickthemute) + ":" + Format (Elternteil.Metzthesen); // Hinweis: Hier können Sie die Ausgabe in das gewünschte Format ändern} else {outObject.value = parent.meitztheyear + "-" + format (parent.meitztherather) + "-" + Format (parent.meickThededate); //Note: Here you can change the output to the format you want}}closeLayer();}function meizzPrevM() //Follow the month forward{if(meizzTheMonth>1){meizzTheMonth--}else{meizzTheYear--;meizzTheMonth=12;}meizzSetDay(meizzTheYear,meizzTheMonth);}function meizzNextM() //Follow the Monat rückwärts {if (meickThondonTh == 12) {meiztzheyear ++; meickThonth = 1} else {mezerThonten ++} Meitzsetday (meissheyear, meiztzthemather);} // Todo: organisieren die Codefunktion Meizzsetday (yy, mm)/Das Hauptschreibprogramm organisieren das Hauptschreibprogramm. ************* // alle Inhalte des Anzeigefelds var tag tag 1 = 1, tag2 = 1, Firstday = neues Datum (yy, mm-1,1) .Getay (); // Welchen Tag der Woche des ersten Tages eines bestimmten Monats für (i = 0; i <erster Tag; i ++) meizzwday [i] = getMonthCount (mm == 1? Yy-1: yy, mm == 1? 12: mm-1) -First+i+1 // Die letzten Tage des letzten Monats. meizzwday [i] = tag1; tag1 ++; } für (i = Firstday+GetMonthCount (yy, mm); i <37; i ++) {meizzwday [i] = Tag2; Tag2 ++; } für (i = 0; i <37; i ++) {var da = eval ("odatelayer.meizzdday"+i) // mit der Datum und der Wochenanordnung des neuen Monats, wenn (meizzwday [i]! Da.BorderColordark = "#63A3E9"; da.style.color = "#1478EB"; if (i <firstday) // Der Teil des letzten Monats {da.innerhtml = "<b> <font color =#bcbabc>" + mizzwday [i] + "</font> </b>"; da.title = (mm == 1? 12: mm-1) + "monat" + meizzwday [i] + "Tag"; da.onclick = function ("meizzdayclick (this.inNertext, -1)"); if (! outdate) da.style.backgroundColor = ((mm == 1? Yy-1: yy) == New Date (). GetFriyear () && (mm == 1? 12: mm-1) == new Date (). "#5cefa0": "#f5f5f5"; sonst {da.style.backgroundColor = ((mm == 1? Yy-1: yy) == Outdating.GetingFoyear () && (mm == 1? 12: mm-1) == Outdate.getMonth () + 1 && meizzwday [i] == Outdate.getDate ()?)? "#84c1ff": (((mm == 1? Yy-1: yy) == New Date (). GetFuffle () && (mm == 1? 12: mm-1) == new Date (). // Zeigen Sie das ausgewählte Datum als konkav if ((mm == 1? Yy-1: yy) == outdat.getingfullyear () && (mm == 1? 12: mm-1) == Outdate.getMonth () + 1 && meizzwday [i] == Outdate.getDate ()) {{zwei Da.BorderColordark = "#63A3E9"; }}} else if (i> = firstday + getMonthCount (yy, mm)) // Teil des nächsten Monats {da.innerhtml = "<b> <font color =#bcbabc>" + meizzwday [i] + "</font> </b>"; da.title = (mm == 12? 1: mm + 1) + "Monat" + meizzwday [i] + "Tag"; da.onclick = function ("meizzdayclick (this.inNertext, 1)"); if (! outdate) da.style.backgroundColor = ((mm == 12? Yy+1: yy) == new Date (). GetFlUERY () && (mm == 12? 1: mm+1) == new Date (). getMonth ()+1 && meizzwday [i] == New Date (). "#5cefa0": "#f5f5f5"; sonst {da.style.backgroundColor = ((mm == 12? YY+1: yy) == outdat.getingfullyear () && (mm == 12? 1: mm+1) == Outdate.getMonth ()+1 && Meizzwday [i] == Outdate.getDate ())? "#84c1ff": (((mm == 12? YY+1: yy) == New Date (). GetFuffle () && (mm == 12? 1: mm+1) == New Date (). GetMonth ()+1 && myizzwday [i] == new Date (). //Show the selected date as concave if((mm==12?yy+1:yy)==outDate.getFullYear() && (mm==12?1:mm+1)== outDate.getMonth() + 1 && meizzWDay[i]==outDate.getDate()) { da.borderColorLight="#FFFFFF"; Da.BorderColordark = "#63A3E9"; }}} else // Teil dieses Monats {da.innerhtml = "<b>" + meizzwday [i] + "</b>"; da.title = mm + "monat" + meizzwday [i] + "Tag"; da.onclick = function ("meizzdayclick (this.inNertext, 0)"); // TD die Verarbeitung des Onclick -Ereignisses geben // Wenn es sich um das derzeit ausgewählte Datum handelt, wird ein hellblauer Hintergrund angezeigt. Wenn es sich um das aktuelle Datum handelt, wird ein dunkelgelber Hintergrund angezeigt, wenn (! Opfer) da.style.backgroundColor = (yy == New Date (). "#5cefa0": "#f5f5f5"; sonst {da.style.backgroundcolor = (yy == outdating.getingfullyear () && mm == outdate.getMonth () + 1 && mizzwday [i] == outdate.getDate ())? "#84c1ff": ((yy == new Date (). GetFriyear () && mm == new Date (). GetMonth ()+1 && mizzwday [i] == new Date (). GetDate ())? "#5cefa0": "#f5f5f5"); // das ausgewählte Datum als konkav anzeigen if (yy == outdate.getingfullyear () && mm == outdate.getMonth () + 1 && meizzwday [i] == outdate.getDate ()) {da.borderColorlight = "#ffffff"; Da.BorderColordark = "#63A3E9"; }}} da.style.cursor = "hand"} else {da.innerhtml = ""; da.style.backgroundcolor = ""; da.style.cursor = "default"; }}} function meizzdayclick (n, ex) // Klicken Sie auf das Anzeigebeld, um das Datum auszuwählen. // ex stellt den Offset dar, der zum Auswahl des Datums des Vormonats und des nächsten Monat Var hh = mezerHour; var mi = meitztheminute; var se = meizNthsesecond; // den Monat beurteilen und die entsprechende Verarbeitung durchführen if (mm <1) {yy-; mm = 12+mm;} else if (mm> 12) {yy ++; mm = mm-12;} if (mm <10) {mm = "0" + mm;} if (hh <10) {hh = "0" + hh;} // Zeit if (mi <10) {mi = "0" + mi;} // minutes if (se <10) {se = "0" + se;} // Sekunden. //outObject.Value= ""; return;} if (n <10) {n = "0" + n;} Witritedateto (yy, mm, n, hh, mi, se); Schließschicht (); if (busetime) {try {outbutton.click (); } catch (e) {setDay (outObject); }}} else {crosselayer (); alert("The control object you want to output does not exist!");}}function format(n) //Format the number as two-digit characters to represent {var m=new String();var tmp=new String(n);if (n<10 && tmp.length<2){ m="0"+n;}else{ m=n;}return m;}function evaSetTime() //Set the hours and Minuten, die vom Benutzer ausgewählt wurden. Sekunden "; Wititedateto (Meiztzheyear, Meitzthonten, Meitzthedate, MeitztheHour, Meitztheminute, Meizzthesecond)} Funktion evasettimenothing () // Stellen Sie die zeitliche Kontrolle auf leer {odatelayer.meizzhourhead evasettimenow () // Die Zeitkontrolle auf die aktuelle Zeit setzen {Odatelayer.MeizzHourhead.InnerText = neuer Datum (). Gethours ()+"Zeit"; Date (). Date () GetSeconds (); Wititedateto (MeizTtheyear, Meitztherther, MeitzThedate, MeitztheHour, Meitztheminute, Meitzthesekunde) usetime (ctl) {busetime =! Busetime; Die Zeit, die ursprünglich vom Benutzer ausgewählt wurde // Evasettimenow (); Format (mm) + "-" + Format (n) + "" + Format (HH) + ":" + Format (Mi) + ":" + Format (SE); Want}} Funktion bimgswitch () {if (busetime) {bimg = "on";} else {bimg = "off";}} </script> <input onfocus = "setday (this)" id = "starttime" name = "starttime">Weitere Informationen zu JavaScript finden Sie in den speziellen Themen dieser Website: "Zusammenfassung von JavaScript -Zeit- und Datumsbetriebsfähigkeiten", Zusammenfassung der JavaScript -Switching -Effekte und -Fertigkeiten ", Zusammenfassung der JavaScript -Suche Algorithmus -Fähigkeiten", "Zusammenfassung der JavaScript -Animations -Spezial -Effekte", "Summary -Struktur -Ferrors", "Summary of JavaScript -Animation", "Summary Structures Fisurors" und "Deboging", "," "Zusammenfassung des JavaScript -Traversalalgorithmus und der Fähigkeiten" und "Zusammenfassung der Verwendung von JavaScript Mathematical Operation Nutzung"
Ich hoffe, dieser Artikel wird für JavaScript -Programme aller hilfreich sein.