Diskuze: OpeningHours demo nefunguje?
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 11 zpráv z 11.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
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});
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
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?
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
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.
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.
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');
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.
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ů"));
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ín pro podání přihláçky do druhého kola přijímacího řízení a na navazující magisterské studium vyprçí 21.7.2008 za " + tt + ".";
t = "Termín pro podání přihláçky do druhého kola přijímacího řízení a na navazující magisterské studium vyprçí 11.5.2014 za " + tt + ".";
document.getElementById("script_terminy").innerHTML = t;
}
time_countdown();
var time_countdown0 = setInterval("time_countdown()",1000);
</script>
Zobrazeno 11 zpráv z 11.