Autor | Zpráva | ||
---|---|---|---|
moldow Profil |
#1 · Zasláno: 14. 12. 2018, 11:39:33
Ahojte, robim vianocny kalendar v JQuery a potrebujem poradit.
Ako doplnit podmienku if ((d.getDay() == 0 ) || (d.getDay() == 6 )) o to, ze ALEBO ak je datum z pola var hdays .
Prikladam kompletny kratucky kod, kto chce moze pouzit. :) <!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <style> * { margin:0; padding: 0; } body { font-family: Trebuchet MS, Verdana, Tahoma, Arial; } ul#CALendar { display: flex; list-style: none; } ul#CALendar li { border: #ccc 1px solid; margin: 5px; padding: 17px 10px; } ul#CALendar li.CALweekend { background-color: #bada55; } ul#CALendar li div { text-align: center; } ul#CALendar li div.CALdate { font-size: 40px; } ul#CALendar li div.CALmonth { font-size: 11px; } ul#CALendar li div.CALday { font-size: 13px; font-weight: bold; } </style> </head> <body> <ul id="CALendar"></ul> <script> var d = new Date("12/17/2018"); //nastav pociatocny datum MM/DD/RRRR) var ndays = 14; //nastav pocet kolko dni chces vygenerovat var hdays = [ "12/24/2018", //nastav statne sviatky "27/12", "28/12", "29/12" ]; var days = ["Nedeľa","Pondelok","Utorok","Streda","Štvrtok","Piatok","Sobota"]; var month = ["Január","Február","Marec","Apríl","Máj","Jún","Júl","August","September","Október","November","December"]; var weekend = ""; var text = ""; var i = 0; while (i < ndays) { if ((d.getDay() == 0 ) || (d.getDay() == 6 )) { weekend = "class='CALweekend'"; } text += "<li " + weekend + "><div class='CALdate'>" + d.getDate() + "</div><div class='CALmont'>" + month[d.getMonth()] + "</div><div class='CALday'>" + days[d.getDay()] + "</div></li>"; d.setDate( d.getDate() + 1 ); weekend = ""; i++; } document.getElementById("CALendar").innerHTML = text; </script> </body> </html> |
||
Joker Profil |
#2 · Zasláno: 14. 12. 2018, 16:12:10
moldow:
Když už data hdays definujete v JS, udělejte to jako JS datum. Pak bude potřeba napsat kód, který projde všechno v hdays a porovnat. Raději bych na to udělal samostatnou funkci. |
||
Časová prodleva: 4 dny
|
|||
moldow Profil |
#3 · Zasláno: 18. 12. 2018, 13:31:26
A vedel by mi niekto napisat ako by taky upraveny kod vyzeral?
Dlho som s JQuery uz nerobil a nejako mi to uz nemysli. |
||
Davex Profil |
#4 · Zasláno: 18. 12. 2018, 20:06:53
moldow:
„robim vianocny kalendar v JQuery“ Uvedený kód vůbec jQuery nevyužívá a je to čistý JavaScript. Tento řádek můžeš klidně vymazat: <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> Zjednodušeně: 1) Hodnoty v poli se svátky (v nějakém vhodnějším formátu) by se daly překonvertovat na timestamp do nového pole var sdays = hdays.map(Date.parse); 2) kde se dá potom hledat sdays.indexOf(+d) > -1 |
||
moldow Profil |
Ale ako postavit tu podmienku aby to hladalo v tom novom poli
var sdays ?
Vedeli by ste mi to trochu viac explicitne napisat? codepen.io/moldow/pen/oJYwgB |
||
Kajman Profil |
#6 · Zasláno: 19. 12. 2018, 12:58:29
Ale to hledání máte přece v [#4] pěkně napsané, jen ho přidáte do podmínky neděle nebo sobota nebo svátek.
if ((d.getDay() == 0 ) || (d.getDay() == 6 ) || sdays.indexOf(+d) > -1) |
||
moldow Profil |
#7 · Zasláno: 19. 12. 2018, 15:39:18
Dakujem funguje vyborne.
|
||
Časová prodleva: 5 let
|
0