IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Mezi 13:00 až cca 16:00 proběhne odstávka sítě z důvodu aktualizace. Web bude po celou dobu nedostupný.
Avatar
M.B.
Člen
Avatar
M.B.:2.3.2022 14:28

Ahoj, snažím se na web hodit tento plugin: https://www.jqueryscript.net/…-jQuery.html
V body mám:

<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.21.0/moment-with-locales.min.js"></script>
<script src="/user/documents/opening-hours.js?v=3"></script>
<script>
var data = {
    monday: [[8.30, 18.30]], // (beware! 8.30 means 08:30, using decimal part than is bigger than 59 will generate warning!
    tuesday: [[8.30, 18.30]],
    wednesday: [[6.30, 18.30]],
    thursday: [[6.30, 18.30]],
    friday: [[8.30, 18.30]],
    saturday: [],
    sunday: [] //closed (optional, if entry for a day is empty, it's assumed that it is closed)
};
</script>
<script>
    $('.current-status-placeholder').openingHours({ show: 'current-status', hours: data });
    $('.closing-in-placeholder').openingHours({ show: 'closing-in', hours: data});
</script>
Current status: <div current-status-placeholder></div>
We close/open: <div closing-in-placeholder></div>

Ale na webu je stále prázdné
Current status:
We close/open:

Co je prosím špatně?
Na .js je odkázáno správně.

Chci docílit: Zobrazení otevírací doby.

Editováno 2.3.2022 14:30
 
Odpovědět
2.3.2022 14:28
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:2.3.2022 15:18

jejich priklad funguje, tak si zkopiruj jejich kod?
https://www.jqueryscript.net/…ugin-jQuery/

var data = [];
data[0] = [[10,14]]; // holidays - currently not implemented
data[1] = [[8.30, 18.30]]; // monday (beware! 8.30 means 08:30, using decimal part than is bigger than 59 will generate warning!
data[2] = [[8.30, 18.30]]; // tuesday
data[3] = [[6.30, 18.30]]; // wednesday
data[4] = [[6,12.59],[16.35,16.39],[18.30, 19.30]]; // thursday
data[5] = [[8.30, 18.30]]; // friday
data[6] = [[8.30, 12],[14,18]]; // saturday
data[7] = [[8.30, 12.59],[14,18]]; // sunday = closed (optional, if entry for a day is empty, it's assumed that it is closed)


      $('.current-status-placeholder').openingHours({ show: 'current-status', hours: data });
      $('.closing-in-placeholder').openingHours({ show: 'closing-in', hours: data});
 
Nahoru Odpovědět
2.3.2022 15:18
Avatar
M.B.
Člen
Avatar
Odpovídá na Peter Mlich
M.B.:2.3.2022 15:38

Tak první problém, že jim chybí class v divech a potom hlavní problém, že musí být nad ostatními scripty.

Takže funguje i ten původní, ale vypadá to takhle (viz. příloha) .
Desetinná místa se opraví třeba až po třetím aktualizování stránky. Nějaký nápad?

Děkuji

Editováno 2.3.2022 15:41
 
Nahoru Odpovědět
2.3.2022 15:38
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:2.3.2022 15:39

V tom zipu stazenem ze stranek mi to pise, ze je chyba v opening-hours.js, closingIn is undefined. Kdyz pouziji opening-hours.js z toho demicka.

<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.21.0/moment-with-locales.min.js"></script>
<script src="https://www.jqueryscript.net/demo/Opening-Hours-Plugin-jQuery/opening-hours.js?v=3"></script>
...

Na radku 152 je

var closingIn = getClosingIn(data);
if (closingIn.closingIn) { // 152

Cili, funkce na radku 151 selhala. A tim padem vse od radku 151 melo byt obaleno do if (closingIn) {}. A nebo se musi jeste neco pridat do nastaveni, nevim. Ptej se autoru programu?

 
Nahoru Odpovědět
2.3.2022 15:39
Avatar
M.B.
Člen
Avatar
M.B.:2.3.2022 15:45

Omlouvám se za překlep na screenshotu, snažím se řešit rychle, dokud vás mám online :-).

 
Nahoru Odpovědět
2.3.2022 15:45
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:2.3.2022 15:46

No, ja to zkousel na https://jsfiddle.net/0c5gvsh8/1/

Jo, mas pravdu, nemaji tam class="..." a ty divy musi byt nad tagy <script>.Pak se tam objevi aspon Open :)

 
Nahoru Odpovědět
2.3.2022 15:46
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:2.3.2022 15:53

Mne to teda closing vypisovat nechce a pise prave tu chybu.
Kazdopadne, zaokrouhlovani cislel resi Math.floor(cislo) nebo math.round, ale to se tam nehodi.
Na jejich strance, to demicko funguje, i se zaokrouhlovanim. Takze bych se snazil pouzit jejich kod cely, jak tam maji.

Editováno 2.3.2022 15:56
 
Nahoru Odpovědět
2.3.2022 15:53
Avatar
M.B.
Člen
Avatar
Odpovídá na Peter Mlich
M.B.:2.3.2022 15:57

Ono tam zřejmě zaokrouhlování je, protože se to po pár reloadech opraví a dalším zase rozbije. Ale JS neumím, nevím tedy kde a jak opravit.

Zkusím použít ten jejich.
Nevíš prosím jak složitý by bylo přidat do tohoto výjimky? Na určitý datum.

Editováno 2.3.2022 15:58
 
Nahoru Odpovědět
2.3.2022 15:57
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:2.3.2022 21:05

https://www.jqueryscript.net/…-jQuery.html
zadny z tech prikladu na strance neuvadi vyjimky na datumy. Dokumentaci se mi googlovat nechce. Tobe taky ne. co dela script moment-with-locales.min.js by bylo na dlouhe zkoumani. Ale, pokud se to netyka toho pluginu a plugin je jen kod opening-hours.js .

S datumem tam pracuji tyto radky, takze bys musel pridat kod, ktery pro format pouzije den v tydnu a mesic a to je prave v tom kodu, co se mi nechce lustit moment-with-locales.min.js

var now = getCurrentHourFormatted();
var now = moment().format('H.mm');
 
Nahoru Odpovědět
2.3.2022 21:05
Avatar
M.B.
Člen
Avatar
M.B.:3.3.2022 11:45

Jejich kód na demu aspoň nedělá další desetinná místa. Ovšem další problém s výpočtem a to i na demu.

Opening tomorrow at 54:00
a
Opening after 4 days at 34:00

S tím už si neporadím.

Jakmile to hlásí aktuální den, tak v pohodě, ale jakmile to má zjistit kdy se otevírá další dny, tak je tam nesmysl.

Editováno 3.3.2022 11:47
 
Nahoru Odpovědět
3.3.2022 11:45
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:3.3.2022 12:58

Napis si vlastni kod podle toho, co potrebujes :) Nema smysl upravovat cizi kod a studovat, jak funguje. On byl delany jen na jednu vec a tu asi dela. Ty tam chces nejake spesl cary-mary a to on neumi, nejspis.

Toto je program, ktery pouzivam na odpocet. Je to uz nejaky pozustatek.

  <div id="script_terminy"></div>
<script type="text/javascript">
function time_countdown()
{
var d0,d1,dd, n,d,h,m,s, tt, x,y;
d0 = new Date();
//d1 = new Date("July 21, 2008");
//d1 = new Date(2008,7-1,21+1);
d1 = new Date(2014,5-1,11+1);
dd = d1.getTime() - d0.getTime();
x = 0;          y = 24*60*60*1000;      d = Math.floor((dd-x)/y);
x+= d*y;        y = 60*60*1000;         h = Math.floor((dd-x)/y);
x+= h*y;        y = 60*1000;            m = Math.floor((dd-x)/y);
x+= m*y;        y = 1000;               s = Math.floor((dd-x)/y);
tt =       d + " " + (d==1?"den":     (d>1 && d<5?"dny"     : "dn&#367;"));
tt+= " " + h + " " + (h==1?"hodinu":  (h>1 && h<5?"hodiny"  : "hodin"));
tt+= " " + m + " " + (m==1?"minutu":  (m>1 && m<5?"minuty"  : "minut"));
tt+= " " + s + " " + (s==1?"sekundu": (s>1 && s<5?"sekundy" : "sekund"));
//t = "Term&iacute;n pro pod&aacute;n&iacute; p&#345;ihl&aacute;çky do druh&eacute;ho kola p&#345;ij&iacute;mac&iacute;ho &#345;&iacute;zen&iacute; a na navazuj&iacute;c&iacute; magistersk&eacute; studium vyprç&iacute; 21.7.2008 za " + tt + ".";
t = "Term&iacute;n pro pod&aacute;n&iacute; p&#345;ihl&aacute;çky do druh&eacute;ho kola p&#345;ij&iacute;mac&iacute;ho &#345;&iacute;zen&iacute; a na navazuj&iacute;c&iacute; magistersk&eacute; studium vyprç&iacute; 11.5.2014 za " + tt + ".";
document.getElementById("script_terminy").innerHTML = t;
}
time_countdown();
var time_countdown0 = setInterval("time_countdown()",1000);
</script>
 
Nahoru Odpovědět
3.3.2022 12:58
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 11 zpráv z 11.