| 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: 7 let
|
|||
0