html ΠΏΠΎΠ»Π΅ Π²ΡΠ±ΠΎΡΠ° Π΄Π°ΡΡ
ΠΠ»Π΅ΠΌΠ΅Π½Ρ HTML <time>
ΠΠ»Π΅ΠΌΠ΅Π½Ρ <time> ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π΄Π°ΡΡ, Π²ΡΠ΅ΠΌΡ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠΈΠΎΠ΄ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ Π² ΠΌΠ°ΡΠΈΠ½Π½ΠΎΡΠΈΡΠ°Π΅ΠΌΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅. ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΠΉ, Π°ΡΡ ΠΈΠ²ΠΎΠ² ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ. WordPress ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΠΎΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΡΠ΅ΠΌΠ΅ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ. ΠΡΡ ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ <time> β Reddit:
ΠΡΠ°ΡΠΊΠ°Ρ ΠΈΡΡΠΎΡΠΈΡ
ΠΠΈΠ·Π½Π΅Π½Π½ΡΠΉ ΠΏΡΡΡ ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π±ΡΠ» Π½Π΅Π»ΡΠ³ΠΊΠΈΠΌ. ΠΠ³ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π² ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ HTML5 Π² 2009 Π³ΠΎΠ΄Ρ. ΠΠ²Π° Π³ΠΎΠ΄Π° ΡΠΏΡΡΡΡ, Π² 2011, Π΅Π³ΠΎ ΡΠ±ΡΠ°Π»ΠΈ ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΠ»ΠΈ Π½Π° Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠΎΠΊΠΈΠΉ <data>. ΠΠ΄Π½Π°ΠΊΠΎ Π² ΡΡΠΎΠΌ ΠΆΠ΅ Π³ΠΎΠ΄Ρ Π΅Π³ΠΎ Π²Π΅ΡΠ½ΡΠ»ΠΈ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π½ΠΎΠ²ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ. Π‘Π΅ΠΉΡΠ°Ρ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ.
Π‘ΠΈΡΡΠ°ΡΠΈΡ Ρ ΠΎΡΠΎΡΠΎ ΠΎΠΏΠΈΡΠ°Π» ΠΡΡΡ ΠΠΎΡΡΠΎΠ½ (ΡΠ±ΡΠ°Π»ΠΈ, Π²Π΅ΡΠ½ΡΠ»ΠΈ, ΡΠ΅ΠΊΡΡΠ΅Π΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π΅Π»). [Π’Π° ΠΆΠ΅ ΠΈΡΡΠΎΡΠΈΡ Π½Π° Π₯Π°Π±ΡΠ΅: ΡΠ±ΡΠ°Π»ΠΈ, Π²Π΅ΡΠ½ΡΠ»ΠΈ]. ΠΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠ΅Π°ΠΊΡΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π²Π»ΠΈΡΠ΅Ρ Π½Π° ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ HTML.
Π’ΡΠ³ ΠΈ Π°ΡΡΠΈΠ±ΡΡ
<time> ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΡΠΉ ΡΠ΅Π³ HTML. ΠΠΎΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Π½ΠΎΡΠ±ΡΡ 2011:
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠ΅ΠΊΡΡ Π²Π½ΡΡΡΠΈ ΡΠ΅Π³Π° ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π°Π»ΠΈΠ΄Π½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ Π°ΡΡΠΈΠ±ΡΡΠ° datetime (ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΏΠΎΠΉΠ΄ΡΡ ΡΠ΅ΡΡ Π΄Π°Π»ΡΡΠ΅). ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠΎ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ. ΠΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ Π² Π°ΡΡΠΈΠ±ΡΡ, ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΡΠ²Π½ΠΎ, Π° Π²Π½ΡΡΡΠΈ ΡΠ΅Π³Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΉ ΡΠ΅ΠΊΡΡ:
ΠΠΌΠ΅Π½Π½ΠΎ Π°ΡΡΠΈΠ±ΡΡ datetime ΠΏΡΠΈΠ΄Π°ΡΡ ΡΡΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΅Π³ΠΎ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°. ΠΠ½ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Π² ΠΌΠ°ΡΠΈΠ½Π½ΠΎΡΠΈΡΠ°Π΅ΠΌΠΎΠΌ Π²ΠΈΠ΄Π΅ Π»ΡΠ±ΡΡ Π΄Π°ΡΡ, Π²Π΅ΡΠΌΡ ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π», ΠΎΡΠ½ΠΎΡΡΡΠΈΠΉΡΡ ΠΊ ΡΠ΅ΠΊΡΡΡ Π²Π½ΡΡΡΠΈ ΡΠ΅Π³Π°. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ², Π΅Π³ΠΎ ΡΠΎΡΠΌΠ°Ρ ΠΆΠ΅ΡΡΠΊΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½.
Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΡΠ΅ΠΊΡΡ, Π·Π°ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΉ Π² ΡΠ΅Π³, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π² ΡΠ΄ΠΎΠ±ΠΎΡΠΈΡΠ°Π΅ΠΌΠΎΠΌ Π²ΠΈΠ΄Π΅:
10 ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠΊΠ°Π·Π°Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ
ΠΠΎΠ΄ ΠΈ ΠΌΠ΅ΡΡΡ
ΠΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ: Π³ΠΎΠ΄ ΠΈΠ΄ΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΌΠ΅ΡΡΡΠ΅ΠΌ.
ΠΠΎΠ΄, Π·Π°ΡΠ΅ΠΌ ΠΌΠ΅ΡΡΡ, Π·Π°ΡΠ΅ΠΌ Π΄Π΅Π½Ρ.
ΠΠ°ΡΠ° Π±Π΅Π· Π³ΠΎΠ΄Π°
Π’ΠΎΠ»ΡΠΊΠΎ Π²ΡΠ΅ΠΌΡ
Π§Π°ΡΡ, ΠΌΠΈΠ½ΡΡΡ, ΡΠ΅ΠΊΡΠ½Π΄Ρ. Π‘Π΅ΠΊΡΠ½Π΄Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ. ΠΠΎΠ»ΠΈ ΡΠ΅ΠΊΡΠ½Π΄Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Ρ ΡΠΎΡΠ½ΠΎΡΡΡΡ Π΄ΠΎ ΡΡΠ΅ΡΡΠ΅Π³ΠΎ Π·Π½Π°ΠΊΠ°.
ΠΠ°ΡΠ° ΠΈ Π²ΡΠ΅ΠΌΡ
ΠΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ Π΄Π°ΡΡ ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π½ΡΡ Π·Π°Π³Π»Π°Π²Π½ΠΎΠΉ Β«TΒ». ΠΡΠΊΠ²Ρ Β«TΒ» ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π½Π° ΠΏΡΠΎΠ±Π΅Π».
Π§Π°ΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΡΡ
ΠΠ°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΠΏΠ»ΡΡΠ° ΠΈΠ»ΠΈ ΠΌΠΈΠ½ΡΡΠ°. ΠΠ²ΠΎΠ΅ΡΠΎΡΠΈΠ΅ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ. ΠΡΠ΅ΠΌΠΈΡΠ½ΠΎΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ (UTC, +00:00) ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π·Π°Π³Π»Π°Π²Π½ΠΎΠΉ Β«ZΒ».
ΠΠ΅ΡΡΠ½Π°Ρ Π΄Π°ΡΠ° ΠΈ Π²ΡΠ΅ΠΌΡ
ΠΠ°ΡΠ° ΠΈ Π²ΡΠ΅ΠΌΡ Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΡΠ°ΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ°, Π²ΠΌΠ΅ΡΡΠΎ Β«TΒ» ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ±Π΅Π».
ΠΠΎΠ΄ ΠΈ Π½Π΅Π΄Π΅Π»Ρ
ΠΠΎΠ΄, Π·Π°ΡΠ΅ΠΌ Π·Π°Π³Π»Π°Π²Π½Π°Ρ Β«WΒ» ΠΈ Π½ΠΎΠΌΠ΅Ρ Π½Π΅Π΄Π΅Π»ΠΈ.
Π’ΠΎΠ»ΡΠΊΠΎ Π³ΠΎΠ΄
ΠΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» (ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠΏΠΎΡΠΎΠ±)
Β«PΒ», Π·Π°ΡΠ΅ΠΌ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ β ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄Π½Π΅ΠΉ, Β«TΒ», Π·Π°ΡΠ΅ΠΌ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ β ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°ΡΠΎΠ², ΠΌΠΈΠ½ΡΡ ΠΈ ΡΠ΅ΠΊΡΠ½Π΄. ΠΡΠ΅ Π±ΡΠΊΠ²Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ΅.
ΠΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» (Π²ΡΠΎΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±)
ΠΠ΅Π΄Π΅Π»ΠΈ, Π΄Π½ΠΈ, ΠΌΠΈΠ½ΡΡΡ, ΡΠ΅ΠΊΡΠ½Π΄Ρ. ΠΡΠΊΠ²Ρ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π² Π»ΡΠ±ΠΎΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ΅, ΠΏΡΠΎΠ±Π΅Π»Ρ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½Ρ.
ΠΡΠΈΠΌΠ΅ΡΡ
ΠΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ datetime?
ΠΡΠ° Π½Π΅Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠΎΡΠΌΠ° Π½Π° CodePen ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π°ΡΡ ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π² ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΉ ΡΠ΅Π³ <time> :
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π² Π±ΡΡΠ·Π΅ΡΠ°Ρ
Π ΡΡΠΌ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ <time>?
ΠΠ΄Π΅ΡΡ Ρ ΠΏΡΠΎΡΠΈΡΠΈΡΡΡ ΠΡΡΡΠ° ΠΠΎΡΡΠΎΠ½Π°, ΡΠ°ΠΊ ΠΊΠ°ΠΊ, ΠΏΠΎΠΆΠ°Π»ΡΠΉ, Π»ΡΡΡΠ΅ ΠΈ Π½Π΅ ΡΠΊΠ°ΠΆΠ΅ΡΡ:
ΠΠ°ΡΠΈΠ°Π½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΈΡ Π΄Π°ΡΡ ΠΏΡΠΈΠ΄ΡΠΌΠ°ΡΡ Π½Π΅ΡΡΡΠ΄Π½ΠΎ. ΠΡΠ°ΡΠ·Π΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠΎΠ±ΡΡΠΈΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ Π² Π΅Π³ΠΎ ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΡ. ΠΡΠ°ΡΠ·Π΅Ρ Π² Π’Π°ΠΈΠ»Π°Π½Π΄Π΅ ΠΌΠΎΠΆΠ΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π΄Π°ΡΡ Π² Π³ΡΠΈΠ³ΠΎΡΠΈΠ°Π½ΡΠΊΠΎΠΌ ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΠ΅ Π² ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΠΉ Π±ΡΠ΄Π΄ΠΈΠΉΡΠΊΠΈΠΉ. Π―ΠΏΠΎΠ½ΡΠΊΠΈΠΉ Π±ΡΠ°ΡΠ·Π΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ <time>16:00</time> ΠΊΠ°ΠΊ Β«16:00ζΒ». ΠΠ³ΡΠ΅Π³Π°ΡΠΎΡΡ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° ΠΌΠΎΠ³ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠΊΠ°Π»Ρ ΡΠΎΠ±ΡΡΠΈΠΉ.
ΠΠΎΠΈΡΠΊΠΎΠ²ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡΡ ΡΠ»ΡΡΡΠ°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π²ΡΠ΄Π°ΡΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π΅Π΄Π°Π²Π½ΠΎ Π±ΡΠ» ΡΠΈΠ»ΡΠ½ΡΠΉ ΡΠ½Π΅Π³ΠΎΠΏΠ°Π΄, Ρ ΠΏΠΎΠ³ΡΠ³Π»ΠΈΠ» ΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ», ΡΡΠΎ ΡΠΊΠΎΠ»Π°, Π² ΠΊΠΎΡΠΎΡΡΡ Ρ ΠΎΠ΄ΡΡ ΠΌΠΎΠΈ Π΄Π΅ΡΠΈ, ΡΠ΅Π³ΠΎΠ΄Π½Ρ Π·Π°ΠΊΡΡΡΠ°. Π’ΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ³Π΄Π° ΠΈΠ· ΡΠΊΠΎΠ»Ρ ΠΏΠΎΠ·Π²ΠΎΠ½ΠΈΠ»ΠΈ ΠΈ ΡΠΏΡΠΎΡΠΈΠ»ΠΈ, ΠΏΠΎΡΠ΅ΠΌΡ ΠΌΠΎΠΈ Π΄Π΅ΡΠΈ Π½Π΅ ΠΏΡΠΈΡΠ»ΠΈ, Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ», ΡΡΠΎ Π²Π½ΠΈΠ·Ρ ΡΡΡΠ°Π½ΠΈΡΡ Ρ Π½ΠΎΠ²ΠΎΡΡΡΡ ΠΎ Π·Π°ΠΊΡΡΡΠΈΠΈ ΡΠΊΠΎΠ»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ ΠΌΠ΅Π»ΠΊΠΈΠΌ ΡΡΠΈΡΡΠΎΠΌ: Β«ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ΠΎ 5 ΡΠ½Π²Π°ΡΡ 2008Β». ΠΠΎΠΈΡΠΊΠΎΠ²ΠΈΠΊΠΈ Π²ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡ Π½Π΅Π΄Π°Π²Π½ΠΈΠ΅ ΡΠΎΠ±ΡΡΠΈΡ Π²ΡΡΠ΅ Π² Π²ΡΠ΄Π°ΡΠ΅.
ΠΡΡ ΠΎΠ΄Π½Π° ΠΏΠΎΠ»Π΅Π·Π½Π°Ρ ΠΌΠ΅Π»ΠΎΡΡ
Π Π²ΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° Π΄Π»Ρ Rails, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π²ΡΠ΅ΠΌΡ Π² ΡΡΠΈΡ ΡΡΡΡ Π²ΠΈΠ΄Π°Ρ :
ΠΠ°Π»Π΅Π½Π΄Π°ΡΡ
ΠΡΠ±ΠΎΡ Π΄Π°ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½Π° ΡΠ°ΠΉΡΠ°Ρ , ΡΠΎΡΠ³ΡΡΡΠΈΡ Π°Π²ΠΈΠ° ΠΈ ΠΆΠ΅Π»Π΅Π·Π½ΠΎΠ΄ΠΎΡΠΎΠΆΠ½ΡΠΌΠΈ Π±ΠΈΠ»Π΅ΡΠ°ΠΌΠΈ, Π²Π΅Π΄Ρ ΠΏΠΎΡΠ΅ΡΠΈΡΠ΅Π»Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅Ρ Π·Π°ΠΊΠ°Π· Π±ΠΈΠ»Π΅ΡΠ° Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΉ Π΄Π΅Π½Ρ. ΠΠ°Π»Π΅Π½Π΄Π°ΡΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π² Π±Π»ΠΎΠ³Π°Ρ , Π³Π΄Π΅ Π·Π°ΠΏΠΈΡΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠΈΠ·ΠΈΡΡΡΡΡΡ ΠΏΠΎ Π΄Π°ΡΠ΅, ΠΈ ΡΠ°ΠΉΡΠ°Ρ , ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠΎΠ±ΡΡΠΈΡΠΌΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΏΠΎΡΡΠΈΠ²Π½ΡΠΌΠΈ. Π’Π°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°ΡΠ΅, ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΡ Π²ΠΎΡΡΡΠ΅Π±ΠΎΠ²Π°Π½ ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
ΠΠ° ΡΠ΅ΡΠ²Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ ΠΠΠΠ-ΠΠ-ΠΠ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 22.12.2014, Π° Π²ΠΈΠ΄ ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ°. ΠΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΡ ΠΏΠΎΠΊΠ° ΡΠΎΠ»ΡΠΊΠΎ Opera, Π²ΡΠ²ΠΎΠ΄Ρ Π²ΠΈΠ΄ΠΆΠ΅Ρ Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠ° Π»ΡΠ±ΠΎΠΉ Π΄Π°ΡΡ (ΡΠΈΡ. 1).
Π ΠΈΡ. 1. ΠΠ°Π»Π΅Π½Π΄Π°ΡΡ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ Opera
ΠΡΠ°ΡΠ·Π΅Ρ Chrome ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΡ, Π½ΠΎ Π΄Π΅Π»Π°Π΅Ρ ΡΡΠΎ Π²Π΅ΡΡΠΌΠ° ΡΠΊΡΠΏΠΎ (ΡΠΈΡ. 2). ΠΠΎ ΡΡΡΠΈ Π²Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠΊΡΡΡΠΈΠ²Π°ΡΡ Π΄Π°ΡΡ ΠΈΠ»ΠΈ Π²Π²ΠΎΠ΄ΠΈΡΡ Π΅Ρ ΠΊΠ°ΠΊ ΡΠ΅ΠΊΡΡ.
Π ΠΈΡ. 2. ΠΠ°Π»Π΅Π½Π΄Π°ΡΡ Π² Chrome
Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ 1 ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΡ Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠΉ Π΄Π°ΡΡ.
ΠΡΠΈΠΌΠ΅Ρ 1. ΠΠ°Π»Π΅Π½Π΄Π°ΡΡ
HTML5 IE Cr Op Sa Fx
ΠΡΠΈΠΌΠ΅Ρ 2. ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π΄Π°ΡΡ
HTML5 IE Cr Op Sa Fx
Π’Π΅ΠΊΡΡΠ°Ρ Π΄Π°ΡΠ° Π·Π°Π΄Π°Π½Π½Π°Ρ ΡΠ΅ΡΠ΅Π· Π°ΡΡΠΈΠ±ΡΡ value ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ½ΠΎΠΌ, Π½Π΅Π°ΠΊΡΠΈΠ²Π½ΡΠ΅ Π΄Π½ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅Π»ΡΠ·Ρ Π²ΡΠ±ΡΠ°ΡΡ β ΡΠ΅ΡΡΠΌ ΡΠ²Π΅ΡΠΎΠΌ (ΡΠΈΡ. 3).
Π ΠΈΡ. 3. ΠΠ°Π»Π΅Π½Π΄Π°ΡΡ Ρ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ Π²Π²ΠΎΠ΄Π°
ΠΡΠΎΠΌΠ΅ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ Π΄Π°ΡΡ, ΠΌΠ΅ΡΡΡ ΠΈ Π³ΠΎΠ΄, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΈ ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° ΠΌΠ΅ΡΡΡΠ° ΠΈ Π½Π΅Π΄Π΅Π»ΠΈ. ΠΠ½ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π² ΡΠ°ΠΊΠΎΠΌ Π²ΠΈΠ΄Π΅.
ΠΡΠ±ΠΎΡ ΠΌΠ΅ΡΡΡΠ° Π² Opera ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ΅ΡΠ΅Π· Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ, Π½ΠΎ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅Π»ΡΠ·Ρ ΡΠΊΠ°Π·Π°ΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ Π΄Π°ΡΡ (ΡΠΈΡ. 4).
Π ΠΈΡ. 4. ΠΡΠ±ΠΎΡ ΠΌΠ΅ΡΡΡΠ° Π² Opera
ΠΠ° ΡΠ΅ΡΠ²Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎΠ»Ρ type=»month» ΠΏΠ΅ΡΠ΅ΡΡΠ»Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΠΠΠΠ-ΠΠ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 2014-10.
ΠΠΎΡ ΠΎΠΆΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΈ Π²ΠΈΠ΄ΠΆΠ΅Ρ Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠ° Π½Π΅Π΄Π΅Π»ΠΈ (ΡΠΈΡ. 5), Π½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π½ΠΎΠΌΠ΅Ρ Π½Π΅Π΄Π΅Π»ΠΈ ΠΈ Π²ΡΠ±ΡΠ°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π΅Ρ. ΠΠ° ΡΠ΅ΡΠ²Π΅Ρ ΠΏΡΠΈ ΡΡΠΎΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ 2014-W38, Π³Π΄Π΅ Π²Π½Π°ΡΠ°Π»Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π³ΠΎΠ΄, Π·Π°ΡΠ΅ΠΌ ΡΠ΅ΡΠ΅Π· Π΄Π΅ΡΠΈΡ W ΠΈ ΠΏΠΎΡΠ»Π΅ Π½Π΅Π³ΠΎ Π½ΠΎΠΌΠ΅Ρ Π½Π΅Π΄Π΅Π»ΠΈ ΠΎΡ Π½Π°ΡΠ°Π»Π° Π³ΠΎΠ΄Π°.
Π ΠΈΡ. 5. ΠΡΠ±ΠΎΡ Π½Π΅Π΄Π΅Π»ΠΈ Π² Opera
Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ 3 ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»Ρ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° ΠΌΠ΅ΡΡΡΠ°.
Air Datepicker, Π»Π΅Π³ΠΊΠΈΠΉ ΠΈ ΠΊΡΠ°ΡΠΈΠ²ΡΠΉ Π²ΡΠ±ΠΎΡ Π΄Π°ΡΡ
Π₯ΠΎΡΡ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ Ρ Π²Π°ΠΌΠΈ ΠΎΠΏΡΡΠΎΠΌ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π²ΡΠ±ΠΎΡΠ° Π΄Π°ΡΡ Π΄Π»Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ.
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π·Π΄Π΅ΡΡ: Air Datepicker.
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
Π Π°Π±ΠΎΡΠ°Ρ Π½Π°Π΄ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ, Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΡ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ Π²ΡΠ±ΡΠ°ΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΌΠ΅ΡΡΡ. ΠΡΠ΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ ΡΠ°ΠΊΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ, ΠΌΠΎΠΉ Π²ΡΠ±ΠΎΡ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΡΡ Π½Π° Zebra Datepicker β ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΉ, ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ, Π²ΡΠ΅ Π·Π΄ΠΎΡΠΎΠ²ΠΎ. ΠΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π²Π΅ΡΠ΅ΠΉ Π²ΡΠ΅ ΠΆΠ΅ Π½Π΅ Ρ Π²Π°ΡΠ°Π»ΠΎ:
Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ Π³ΡΠΎΠΌΠΎΠ·Π΄ΠΊΠΎΠΉ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈ, ΡΠΎ ΠΊ Π½Π΅ΠΉ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ Π΅ΡΠ΅ ΠΈ ΡΠ°Π±Π»ΠΈΡΠ½Π°Ρ Π²Π΅ΡΡΡΠΊΠ°, ΠΊ ΡΡΠ΅ΠΉΠΊΠ°ΠΌ ΠΊΠΎΡΠΎΡΠΎΠΉ Π±Π΅Π· Π»ΠΈΡΠ½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π½Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ position: relative;.
ΠΡ ΠΈ Π½Π°ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠΊ Π²ΡΠ΅ ΠΆΠ΅ Ρ ΠΎΡΠ΅ΡΡΡ, ΡΡΠΎΠ±Ρ Π±ΡΠ»Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ, Π° ΠΈΠ·-Π·Π° ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ .show(), ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ display, ΠΏΠ»Π°Π²Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Ρ (transition) Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΡΡΠ΄ΠΎΠ΅ΠΌΠΊΠΎ.
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ°
ΠΠ°Π»Π΅Π½Π΄Π°ΡΡ Ρ ΡΠ°Π·Π΄Π΅Π»ΠΈΠ» Π½Π° ΡΡΠΈ ΡΠ°ΡΡΠΈ:
ΠΡΠΈ Π½Π°ΡΡΡΠΏΠ»Π΅Π½ΠΈΠΈ ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ ΡΠΎΠ±ΡΡΠΈΠΉ Π² ΡΠ΅Π»Π΅ ΠΈΠ»ΠΈ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ, ΠΎΠ½ΠΈ ΡΠΎΠΎΠ±ΡΠ°ΡΡ ΠΎΠ± ΡΡΠΎΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ°ΡΡΠΈ, ΠΈ ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΡ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΡΠ²ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΡΠΈΠΌΠΈ ΡΠΎΠ±ΡΡΠΈΡΠΌΠΈ.
Π ΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ ΠΌΠ½Π΅ ΠΏΠΎΠΌΠΎΠ³Π»ΠΈ getter’Ρ ΠΈ setter’Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΌΠ΅ΡΡΡΠ° ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ Π½ΠΎΠ²Π°Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΠ°Ρ Π΄Π°ΡΠ° Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ ΠΌΠ΅ΡΡΡΠ°, ΠΈ Π²Π½ΡΡΡΠΈ Π³Π΅ΡΡΠ΅ΡΠ° Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΠ΅Π»Π° ΠΈ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΡ. ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ ΠΈ Π±Π΅Π· Π½ΠΈΡ , ΠΌΠ½Π΅ Π΄Π°Π½Π½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΊΡΠ°ΡΠΈΠ²ΡΠΌ. Π ΠΏΡΠΈΠΌΠ΅ΡΡ, Π²ΠΎΡ ΡΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΠΌΠ΅ΡΡΡΡ, Π³ΠΎΠ΄Ρ ΠΈΠ»ΠΈ Π΄Π΅ΠΊΠ°Π΄Π΅, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ Π²ΠΈΠ΄Π°:
Π ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π²Π½ΡΡΡΠΈ Π³Π΅ΡΡΠ΅ΡΠ° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π²ΡΠ·ΠΎΠ² ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΡ (ΡΠΏΡΠΎΡΠ΅Π½Π½ΠΎ):
Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ Π²ΠΈΠ΄, ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ:
Π€ΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈ
ΠΡΠ½ΠΎΠ²Π° Π΄Π»Ρ ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΡ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠ΅Π· ΡΠ°Π±Π»ΠΈΡ ΠΈ Π½Π°ΠΌΠ΅ΠΊΠ° Π½Π° Π½ΠΈΡ . Π―ΡΠ΅ΠΉΠΊΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΡΡΠΌ
Π― Π½Π΅ Π²ΠΈΠΆΡ ΠΎΡΠΎΠ±ΠΎΠ³ΠΎ ΡΠΌΡΡΠ»Π° Π² ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π½Π° ΡΡΠ΄Ρ ΡΡΠ΅Π΅ΠΊ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π½Π΅Π½ΡΠΆΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ. ΠΡΠ΅ Π΄Π°ΡΡ ΠΈΠ΄ΡΡ Π΄ΡΡΠ³ Π·Π° Π΄ΡΡΠ³ΠΎΠΌ, Ρ Π½ΠΈΡ Π·Π°Π΄Π°Π½Π° ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠΈΡΠΈΠ½Π°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π½Π° Π΄ΡΡΠ³ΡΡ ΡΡΡΠΎΠΊΡ Π² Π½ΡΠΆΠ½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ.
ΠΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅Π³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π΄Π½Π΅ΠΉ Π² ΠΌΠ΅ΡΡΡΠ΅
Π§ΡΠΎΠ±Ρ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΉ HTML, Π½ΡΠΆΠ½ΠΎ Π·Π½Π°ΡΡ ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π½Π΅ΠΉ Π² ΠΌΠ΅ΡΡΡΠ΅. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΡΡΠΊ Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ΠΉ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΌΠ΅ΡΡΡΠ° ΠΈ Π½ΡΠ»Π΅Π²ΠΎΠΉ Π΄Π°ΡΡ (Π² Date() Π΄Π°ΡΠ° ΠΌΠ΅ΡΡΡΠ° Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ Π΅Π΄ΠΈΠ½ΠΈΡΡ).
Π€ΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠΉ Π΄Π½Π΅ΠΉ
ΠΠΎΠ³Π΄Π° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡ ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΡ, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°ΡΡ Π΄Π΅Π½Ρ, Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Π½Π΅Π΄Π΅Π»Ρ. ΠΠ½Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΌ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠΊΡ Ρ Π½Π°Π·Π²Π°Π½ΠΈΡΠΌΠΈ Π΄Π½Π΅ΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠΈ:
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ flexbox
ΠΠ»Ρ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²Π½ΡΡΡΠΈ ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ flexbox. ΠΠ½ Ρ Π»Π΅Π³ΠΊΠΎΡΡΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΡΠ΅Π½ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΠ΅Π½Ρ Π²Π½ΡΡΡΠΈ ΡΡΠ΅Π΅ΠΊ, Π±ΡΠ΄Π΅Ρ ΠΏΠΎ ΡΠ΅Π½ΡΡΡ Π²ΠΎ Π²ΡΠ΅Ρ Π±ΡΠ°ΡΠ·Π΅ΡΠ°Ρ (ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ) ΠΈ Π½Π° ΡΠ°Π·Π½ΡΡ ΠΠ‘, Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ Π·Π°Π΄Π°Π½ΠΈΡ Π²ΡΡΠΎΡΡ ΠΈ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΆΠ΅ ΠΌΠ΅ΠΆΠ΄ΡΡΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Π°.
ΠΠ»ΡΡ ΠΎΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π½Π° ΡΠ°Π²Π½ΠΎΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠΈ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π° Π²ΡΠ΅Π³ΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΡΠΊΠΎΠΉ:
ΠΠ΅ Π½ΡΠΆΠ½ΠΎ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡΡΡΡ ΠΎ ΡΠ°Π·Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡΡ ΡΠΈΡΠΈΠ½Ρ, Π²ΡΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΡΠΈΡΡΠ²Π°ΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ.
ΠΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΡΠΏΠΎΠΌΡΠ½ΡΡΡ ΠΏΡΠΎ ΠΊΠ½ΠΎΠΏΠΊΠΈ Β«Π‘Π΅Π³ΠΎΠ΄Π½ΡΒ» ΠΈ Β«ΠΡΠΈΡΡΠΈΡΡΒ»:
ΠΡΠ»ΠΈ ΠΈΡ Π΄Π²Π΅, ΠΎΠ½ΠΈ Π·Π°Π½ΠΈΠΌΠ°ΡΡ ΠΏΠΎ 50% ΠΎΡΠΎ Π²ΡΠ΅ΠΉ ΡΠΈΡΠΈΠ½Ρ, Π΅ΡΠ»ΠΈ ΠΎΠ΄Π½Π°, ΡΠΎ ΠΎΠ½Π° Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π²ΡΡ ΡΠΈΡΠΈΠ½Ρ. ΠΡΠΎΠ³ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΡΡΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ:
ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΊΠ°ΠΊ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡΡΡ Π² ΡΠ°Π·ΠΌΠ΅ΡΠ°Ρ , ΡΠ°ΠΊ ΠΈ ΡΠΌΠ΅Π½ΡΡΠ°ΡΡΡΡ, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠ°Π·ΠΌΠ΅ΡΡ Π²ΡΠ΅Ρ ΡΠΎΡΠ΅Π΄Π΅ΠΉ Π±ΡΠ΄ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅. ΠΠΎΠ³Π΄Π° ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΎΠ΄Π½Π°, ΠΎΠ½Π° ΡΠ°ΡΡΠΈΡΡΠ΅ΡΡΡ Π½Π° Π²ΡΡ ΡΠΈΡΠΈΠ½Ρ, ΠΊΠΎΠ³Π΄Π° Π΄Π²Π΅, ΠΎΠ½ΠΈ ΠΏΡΠΎΠΏΠΎΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ ΡΠΌΠ΅Π½ΡΡΠ°ΡΡΡΡ ΠΈ Π·Π°Π½ΠΈΠΌΠ°ΡΡ ΠΏΠΎ 50%, ΠΈ Ρ.Π΄. ΠΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², Ρ Π²ΡΠ΅Ρ Π½ΠΈΡ Π±ΡΠ΄ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡ, ΠΈ Π² ΡΡΠΌΠΌΠ΅ ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ Π·Π°Π½ΠΈΠΌΠ°ΡΡ Π²ΡΡ ΡΠΈΡΠΈΠ½Ρ ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ.
Π ΠΈΡΠΎΠ³Π΅ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π»Π΅Π³ΠΊΠΎΡΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° ΠΊΠ°ΠΊ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ°Π±Π»ΠΈΡ, Π½ΠΎ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠΈΡΡΠΎΡΡ ΠΈ Π²Π°Π»ΠΈΠ΄Π½ΠΎΡΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈ.
ΠΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΠΎΠ·ΠΈΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π·Π°Π΄Π°Π΅ΡΡΡ Π΄Π²ΡΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ:
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ Β«ΠΏΠΎΠ΄ΡΠ΅Π·ΠΆΠ°Π½ΠΈΡΒ» ΠΊ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌΡ ΠΏΠΎΠ»Ρ, Ρ Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π³ΠΎΠ²ΠΎΡΡΡ Ρ ΠΊΠ°ΠΊΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ Π½ΡΠΆΠ½ΠΎ Π½Π°ΡΠΈΠ½Π°ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎΡ ΠΊΠ»Π°ΡΡ Π²ΡΠ³Π»ΡΠ΄Π΅Π» Π±Ρ ΠΊΠ°ΠΊ .-from-top-. ΠΠ° Π°Π½ΠΈΠΌΠ°ΡΠΈΡ ΠΎΡΠ²Π΅ΡΠ°ΡΡ css transition ΠΈ css transform. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄ΠΎΡΡΠΈΡΡ ΠΏΠ»Π°Π²Π½ΠΎΡΡΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΊΠ°ΡΡΠΎΠΌΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Ρ.
Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ Date()
ΠΠ°ΠΊ Ρ ΡΠΏΠΎΠΌΠΈΠ½Π°Π» Π²Π½Π°ΡΠ°Π»Π΅, ΠΌΠ½Π΅ Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΠΏΠΎΠ½ΡΡΠ½Ρ ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° Π²ΠΌΠ΅ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π΄Π°ΡΡ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΡΡΡΠΎΠΊΡ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΏΡΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΡΠ΅ΡΠ΅Π· data Π°ΡΡΠΈΠ±ΡΡΡ, Π½ΠΎ Π΄Π»Ρ ΠΌΠ΅Π½Ρ Π²ΡΠ΅ ΠΆΠ΅ ΡΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ new Date(). Π’Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅, ΡΡΠΎ Π·Π°ΠΏΠΈΡΡ Π²ΠΈΠ΄Π° new Date(2015, 11, 17) Π½Π΅ ΠΎΡΠΎΠ±ΠΎ ΡΠ»ΠΎΠΆΠ½Π΅Π΅ ‘2015-12-17’. ΠΠΎΡΡΠΎΠΌΡ Ρ ΠΌΠ΅Π½Ρ Π²ΠΎ Π²ΡΠ΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°Ρ , Π³Π΄Π΅ Π·Π°Π΄Π°Π΅ΡΡΡ Π΄Π°ΡΠ°, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ new Date().
ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»ΠΎΠ² ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ
ΠΠ½Π΅ Π½ΡΠ°Π²ΠΈΡΡΡ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ², ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΡ ΠΊ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌΡ ΠΏΠΎΠ»Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠ»Π°ΡΡ ‘datepicker-here’ ΠΈ Π²ΡΠ΅ Π·Π°ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
ΠΠΏΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠ΅ΡΠ΅Π· data Π°ΡΡΠΈΠ±ΡΡΡ.
ΠΠ°ΡΡΠΎΠΌΠΈΠ·ΠΈΡΡΠ΅ΠΌΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΡΠ΅ΠΉΠΊΠΈ
Π Air Datepicker Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΡΠ΅Π΅ΠΊ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π°Π·Π²Π°Π½ΠΈΡ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅Π½Ρ Π² ΡΡΠ΅ΠΉΠΊΠΈ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΡΠΈΡ onRenderCell():
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π ΠΈΡΠΎΠ³Π΅ Ρ ΠΌΠΎΠ³Ρ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΠ» Π½Π΅ΠΏΠ»ΠΎΡ ΠΎΠΉ ΠΎΠΏΡΡ, ΡΠ»ΡΡΡΠΈΠ» ΡΠ²ΠΎΠΈ Π½Π°Π²ΡΠΊΠΈ ΡΠ°Π±ΠΎΡΡ Ρ Π΄Π°ΡΠΎΠΉ ΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. ΠΠ°Π»Π΅Π½Π΄Π°ΡΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌ: Π²ΡΠ΅Π³ΠΎ 20kb (ΠΌΠΈΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ js ΡΠ°ΠΉΠ»), Π½ΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌ, ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅ Π΄Π»Ρ ΠΌΠ΅Π½Ρ ΠΎΠ½ ΡΠ²ΠΎΠΈ Π·Π°Π΄Π°ΡΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ. ΠΡΠ΄Ρ ΡΠ°Π΄, Π΅ΡΠ»ΠΈ ΠΎΠ½ ΠΈΠ»ΠΈ ΡΡΠ° ΡΡΠ°ΡΡΡ ΠΊΠΎΠΌΡ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ.
Html ΠΏΠΎΠ»Π΅ Π²ΡΠ±ΠΎΡΠ° Π΄Π°ΡΡ
ΠΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΈΠΏΠ° date ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠΎΠ»Ρ Π²Π²ΠΎΠ΄Π° ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²Π΅ΡΡΠΈ Π΄Π°ΡΡ, Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ text box Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ date picker. ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π³ΠΎΠ΄, ΠΌΠ΅ΡΡΡ, Π΄Π΅Π½Ρ, Π½ΠΎ Π½Π΅ Π²ΡΠ΅ΠΌΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠΎΠ»Ρ Π²Π²ΠΎΠ΄Π° time (en-US) ΠΈΠ»ΠΈ datetime-local, ΡΡΠΎΠ±Ρ Π²Π²ΠΎΠ΄ΠΈΡΡ Π²ΡΠ΅ΠΌΡ ΠΈΠ»ΠΈ Π΄Π°ΡΡ+Π²ΡΠ΅ΠΌΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.
ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΡΡΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° Ρ ΡΠ°Π½ΠΈΡΡΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ GitHub. ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π²Π½Π΅ΡΡΠΈ ΡΠ²ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ Π² ΠΏΡΠΎΠ΅ΠΊΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ², ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΊΠ»ΠΎΠ½ΠΈΡΡΠΉΡΠ΅ https://github.com/mdn/interactive-examples ΠΈ ΠΎΡΠΏΡΠ°Π²ΡΡΠ΅ Π½Π°ΠΌ Π·Π°ΠΏΡΠΎΡ Π½Π° Π²Π½Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
Π‘ΡΠ΅Π΄ΠΈ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠ² ΡΠΎ ΡΠ²ΠΎΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠ° Π΄Π°ΡΡ, Π΅ΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠ² Chrome ΠΈ Opera, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
Π Edge ΠΎΠ½ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
Π Π² Firefox Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π°ΡΡ Π² JavaScript Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ² value ΠΈ valueAsNumber ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° input. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ
ΠΡΡΠΈΠ±ΡΡ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|
max | ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°Ρ Π΄Π°ΡΠ° Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ |
min | ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°Ρ Π΄Π°ΡΠ° Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ |
step | Π¨Π°Π³ (Π² Π΄Π½ΡΡ ), Ρ ΠΊΠΎΡΠΎΡΡΠΌ Π±ΡΠ΄Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ Π΄Π°ΡΠ° ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π²Π½ΠΈΠ· ΠΈΠ»ΠΈ Π²Π²Π΅ΡΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° |
Π‘ΡΡΠΎΠΊΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ any ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π½ΠΈΠΊΠ°ΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π³Π° Π½Π΅ Π·Π°Π΄Π°Π½ΠΎ ΠΈ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ Π»ΡΠ±ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ (Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ Π΄ΡΡΠ³ΠΈΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ min ΠΈ max ).
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΠΎΠ³Π΄Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π²Π²Π΅Π΄ΡΠ½Π½ΠΎΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ, Π½Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ ΠΏΠΎΠ΄ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π³Π°, user agent ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΊΡΡΠ³Π»ΠΈΡΡ Π΅Π³ΠΎ Π΄ΠΎ Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π³ΠΎ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Ρ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΎΠΌ Π² Π±ΠΎΠ»ΡΡΡΡ ΡΡΠΎΡΠΎΠ½Ρ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΠΎΠ²Π½ΠΎ ΠΏΠΎΡΠ΅ΡΠ΅Π΄ΠΈΠ½Π΅ ΡΠ°Π³Π°.
ΠΠ»Ρ ΠΏΠΎΠ»Π΅ΠΉ Π²Π²ΠΎΠ΄Π° date Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ step Π·Π°Π΄Π°ΡΡΡΡ Π² Π΄Π½ΡΡ ; ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄, ΡΠ°Π²Π½ΠΎΠ΅ 86 400 000 ΡΠΌΠ½ΠΎΠΆΠΈΡΡ Π½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ step (ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌΠΎΠ΅ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Ρ ΡΠ°Π½ΠΈΡΡΡ Π² ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Π°Ρ ). Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ step ΡΠ°Π²Π½ΠΎ 1, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ 1 Π΄Π΅Π½Ρ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»Π΅ΠΉ Π²Π²ΠΎΠ΄Π° c ΡΠΈΠΏΠΎΠΌ date
ΠΠ° ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄, ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π·Π°ΠΌΠ°Π½ΡΠΈΠ²ΠΎ β ΠΎΠ½ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π»ΡΠ³ΠΊΠΈΠΉ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠ° Π΄Π°ΡΡ, Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΡΠ΅Ρ ΡΠΎΡΠΌΠ°Ρ Π΄Π°ΡΡ, ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠΉ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π΅ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ Π² ΡΠ²ΡΠ·ΠΈ Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠ².
ΠΠ°Π΄Π΅Π΅ΠΌΡΡ, ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π±ΡΠ°ΡΠ·Π΅ΡΠ°ΠΌΠΈ ΡΡΠ°Π½Π΅Ρ ΠΏΠΎΠ²ΡΠ΅ΠΌΠ΅ΡΡΠ½ΠΎΠΉ, ΠΈ ΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΈΡΡΠ΅Π·Π½Π΅Ρ.
ΠΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ date?
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ Π΄Π°ΡΡ
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π°, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ±ΡΠ°ΡΡ Π»ΡΠ±ΠΎΠΉ Π΄Π΅Π½Ρ Π°ΠΏΡΠ΅Π»Ρ 2017 Π³ΠΎΠ΄Π°, Π½ΠΎ Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ±ΡΠ°ΡΡ ΠΈ Π΄Π°ΠΆΠ΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π΄Π½ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΌΠ΅ΡΡΡΠ΅Π² ΠΈ Π³ΠΎΠ΄ΠΎΠ², Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΡΠ΅ΡΠ΅Π· Π²ΠΈΠ΄ΠΆΠ΅Ρ date picker.
Controlling input size
Validation
By default, does not apply any validation to entered values. The UI implementations generally don’t let you enter anything that isn’t a date β which is helpful β but you can still leave the field empty or (in browsers where the input falls back to type text ) enter an invalid date (e.g. the 32nd of April).
If you use min and max to restrict the available dates (see Setting maximum and minimum dates), supporting browsers will display an error if you try to submit a date that is outside the set bounds. However, you’ll have to check the results to be sure the value is within these dates, since they’re only enforced if the date picker is fully supported on the user’s device.
In addition, you can use the required attribute to make filling in the date mandatory β again, an error will be displayed if you try to submit an empty date field. This, at least, should work in most browsers.
Let’s look at an example β here we’ve set minimum and maximum dates, and also made the field required:
If you try to submit the form with an incomplete date (or with a date outside the set bounds), the browser displays an error. Try playing with the example now:
Here’s a screenshot for those of you who aren’t using a supporting browser:
Here’s the CSS used in the above example. Here we make use of the :valid and :invalid CSS properties to style the input based on whether or not the current value is valid. We had to put the icons on a next to the input, not on the input itself, because in Chrome the generated content is placed inside the form control, and can’t be styled or shown effectively.
Important: HTML form validation is not a substitute for scripts that ensure that the entered data is in the proper format. It’s far too easy for someone to make adjustments to the HTML that allow them to bypass the validation, or to remove it entirely. It’s also possible for someone to simply bypass your HTML entirely and submit the data directly to your server. If your server-side code fails to validate the data it receives, disaster could strike when improperly-formatted data is submitted (or data which is too large, is of the wrong type, and so forth).
Handling browser support
As mentioned above, the major problem with using date inputs at the time of writing is browser support. As an example, the date picker on Firefox for Android looks like this:
Non-supporting browsers gracefully degrade to a text input, but this creates problems both in terms of consistency of user interface (the presented control will be different), and data handling.
One way around this is to put a pattern attribute on your date input. Even though the date input doesn’t use it, the text input fallback will. For example, try viewing the following example in a non-supporting browser:
The best way to deal with dates in forms in a cross-browser way at the moment is to get the user to enter the day, month, and year in separate controls ( elements being popular; see below for an implementation), or to use a JavaScript library such as jQuery date picker.
Examples
In this example we create two sets of UI elements for choosing dates: a native picker and a set of three elements for choosing dates in older browsers that don’t support the native input.
The HTML looks like so:
The months are hardcoded (as they are always the same), while the day and year values are dynamically generated depending on the currently selected month and year, and the current year (see the code comments below for detailed explanations of how these functions work.)
JavaScript
Note: Remember that some years have 53 weeks in them (see Weeks per year)! You’ll need to take this into consideration when developing production apps.
Html ΠΏΠΎΠ»Π΅ Π²ΡΠ±ΠΎΡΠ° Π΄Π°ΡΡ
ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΈΠΏΠ° datetime-local ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠΎΠ»Ρ Π²Π²ΠΎΠ΄Π°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ Π»Π΅Π³ΠΊΠΎ Π²Π²Π΅ΡΡΠΈ Π΄Π°ΡΡ ΠΈ Π²ΡΠ΅ΠΌΡ β Π³ΠΎΠ΄, ΠΌΠ΅ΡΡΡ, Π΄Π΅Π½Ρ, ΡΠ°ΡΡ ΠΈ ΠΌΠΈΠ½ΡΡΡ.
ΠΠ»Ρ ΡΠ΅Ρ ΠΈΠ· Π²Π°Ρ, ΠΊΡΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠΉ Π±ΡΠ°ΡΠ·Π΅Ρ, Chrome/Opera datetime-local control Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΊΠ°ΠΊ ΡΠΊΡΠΈΠ½ΡΠΎΡ Π½ΠΈΠΆΠ΅. ΠΠ°ΠΆΠ°ΡΠΈΠ΅ Π½Π° ΡΡΡΠ΅Π»ΠΊΡ Π²Π½ΠΈΠ· Ρ ΠΏΡΠ°Π²ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π²ΡΠ±ΠΎΡΡ Π΄Π°ΡΡ, ΡΡΠΎΠ±Ρ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ Π²ΡΠ±ΡΠ°ΡΡ Π΄Π°ΡΡ; Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²Π²Π΅ΡΡΠΈ Π²ΡΠ΅ΠΌΡ Π²ΡΡΡΠ½ΡΡ.
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅
DOMString ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π°ΡΡ, Π²Π²Π΅Π΄ΡΠ½Π½ΠΎΠΉ Π²ΠΎ Π²Ρ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π°, Π²ΠΊΠ»ΡΡΠ°Ρ Π΄Π°ΡΡ Π²Π½ΡΡΡΠΈ value Π°ΡΡΠΈΠ±ΡΡΠ°, ΠΊΠ°ΠΊ:
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π°ΡΡ Π² JavaScript, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ HTMLInputElement.value ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ datetime
ΠΠ²ΠΎΠ΄ Π΄Π°ΡΡ ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ΄ΠΎΠ±Π½ΠΎ Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄ β ΠΎΠ½ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠ° Π΄Π°ΡΡ ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΈ ΠΎΠ½ΠΈ Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΡΡΡ ΡΠΎΡΠΌΠ°Ρ Π΄Π°Π½Π½ΡΡ , ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ Π»ΠΎΠΊΠ°Π»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π΅ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΈΠ·-Π·Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π±ΡΠ°ΡΠ·Π΅ΡΠ°.
ΠΠ°Π·ΠΎΠ²ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠΎΠ»Π΅ΠΉ Π²Π²ΠΎΠ΄Π° datetime
Π‘Π°ΠΌΠΎΠ΅ ΠΏΡΠΎΡΡΠΎΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, ΠΊΠ°ΠΊ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π½ΠΈΠΆΠ΅:
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌΠ° ΠΈ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΠ° Π΄Π°ΡΡ ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ min ΠΈ max Π°ΡΡΠΈΠ±ΡΡΡ ΡΡΠΎΠ±Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ Π΄Π°ΡΡ/Π²ΡΠ΅ΠΌΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ±ΡΠ°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π½ΠΈΠΆΠ΅ ΠΌΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ Π΄Π°ΡΡ ΠΈ Π²ΡΠ΅ΠΌΡ Π² 2017-06-01T08:30 ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ Π² 2017-06-30T16:30 :
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ step Π°ΡΡΠΈΠ±ΡΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄Π½Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΏΡΠΎΠΏΡΡΠ΅Π½Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π΄Π°ΡΠ° ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠ° ΡΠΎΠ»ΡΠΊΠΎ Π‘ΡΠ±Π±ΠΎΡΡ). ΠΠ΄Π½Π°ΠΊΠΎ, Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ ΡΡΠΎ Π½Π΅Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ.
Controlling input size
Setting timezones
One thing the datetime-local input type doesn’t provide is a way to set the timezone/locale of the datetime. This was available in the datetime input type, but this type is now obsolete, having been removed from the spec. The main reasons why this was removed are a lack of implementation in browsers, and concerns over the user interface/experience. It is easier to just have a control (or controls) for setting the date/time and then deal with the locale in a separate control.
For example, if you are creating a system where the user is likely to already be logged in, with their locale already set, you could provide the timezone in a hidden input type. For example:
On the other hand, if you were required to allow the user to enter a timezone along with a datetime entry, you could provide a means of inputting a timezone, such as a element:
In either case, the timedate and timezone values would be submitted to the server as separate data points, and then you’d need to store them appropriately in the database on the server-side.
Note: The above code snippet is taken from All world timezones in an HTML select element.
Validation
By default, does not apply any validation to entered values. The UI implementations generally don’t let you enter anything that isn’t a datetime β which is helpful β but you can still fill in no value and submit, or enter an invalid datetime (e.g. the 32th of April).
You can use min and max to restrict the available dates (see anch(«Setting maximum and minimum dates»)), and in addition use the required attribute to make filling in the date mandatory. As a result, supporting browsers will display an error if you try to submit a date that is outside the set bounds, or an empty date field.
Let’s look at an example β here we’ve set minimum and maximum datetimes, and also made the field required:
If you try to submit the form with an incomplete date (or with a date outside the set bounds), the browser displays an error. Try playing with the example now:
Here’s’a screenshot for those of you who aren’t using a supporting browser:
Here’s the CSS used in the above example. Here we make use of the :valid and :invalid CSS properties to style the input based on whether or not the current value is valid. We had to put the icons on a next to the input, not on the input itself, because in Chrome the generated content is placed inside the form control, and can’t be styled or shown effectively.
Important: HTML form validation is not a substitute for scripts that ensure that the entered data is in the proper format. It’s far too easy for someone to make adjustments to the HTML that allow them to bypass the validation, or to remove it entirely. It’s also possible for someone to simply bypass your HTML entirely and submit the data directly to your server. If your server-side code fails to validate the data it receives, disaster could strike when improperly-formatted data is submitted (or data which is too large, is of the wrong type, and so forth).
Handling browser support
As mentioned above, the major problem with using date inputs at the time of writing is browser support β only Chrome/Opera and Edge support it on desktop, and most modern browsers on mobile. As an example, the datetime-local picker on Firefox for Android looks like this:
Non-supporting browsers gracefully degrade to a text input, but this creates problems both in terms of consistency of user interface (the presented control will be different), and data handling.
One way around this is to put a pattern attribute on your datetime-local input. Even though the datetime-local input doesn’t use it, the text input fallback will. For example, try viewing the following demo in a non-supporting browser:
And what user is going to understand the pattern they need to enter the time and date in?
We still have a problem.
The best way to deal with dates in forms in a cross-browser way at the moment is to get the user to enter the day, month, year, and time in separate controls ( elements being popular β see below for an implementation), or use JavaScript libraries such as jQuery date picker, and the jQuery timepicker plugin.
Examples
In this example we create two sets of UI elements for choosing datetimes β a native picker, and a set of five elements for choosing dates and times in older browsers that don’t support the native input.
The HTML looks like so:
The months are hardcoded (as they are always the same), while the day and year values are dynamically generated depending on the currently selected month and year, and the current year respectively (see the code comments below for detailed explanations of how these functions work.) We also decided to dynamically generate the hours and months, as there are so many of them!