Diskuze: Nejde mi aby to akceptovalo 5 odkaz
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 4 zpráv z 4.
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
Proc nepouzijes pole?
var adx,count;
adx = [];
name = "clickfakeplayer1"; count = adx.push(document.getElementById(name))
name = "clickfakeplayer2"; count = adx.push(document.getElementById(name))
name = "clickfakeplayer3"; count = adx.push(document.getElementById(name))
last = count - 1;
A ten dalsi kod je cely divny. Mas adx[0] a pri clicku pracujes s adx[0] a
adx[1] a adx[last], ale u lastu se neptas zda existuje ci ne. Ladis JS pomoci JS
konzoly? Firefox - (ctrl+shif+i) neboli Nastroje > Nastroje prohlizece >
Nastroje pro webove vyvojare - a tam i pak rozkliknout zalozku konzola
U axd1 pracujes s axd1, axd2, axdlast. ifem overis existenci 1, 2, ale last
nikoliv. A totez delas v tech ostatnich.
U axd2 pracujes s axd2 a axd3, ale existenci 3 si uz neoverujes.
Otazkou je, jak by to melo spravne fungovat? Pokud se ma zobrazit vzdy jen
jedna adx, tak by bylo vhodne ostatni zavrit, pokud nahodou jsou zobrazene a pak
otevrit tu nasledujici.
A podle js konzoly mozna najdes nejake chyby, proc to nejede a na kterem radku
mu neco vadi. Se mi nechce ted zkouset.
...aby jako nedoslo k omylu, forko funguje na principu postav si sam s
nejakou tou radou do zacatku. Nekteri totiz uvazuji tak, zadarmo mi postavte
dum. Ze se ti nekdo neozyva neznamena, ze problem by mel resit nekdo jiny
zadarmo, jen z dobroty srdce a pripravit tak manzelku o jidlo nebo dum, pac
nebude na hypoteku
Tohle funguje tak, ze... zavri vse + najdi prvni existujici, najdi dalsi existujici a ten otevri. pokud nenajde nic, neotevre nic. Ale muzou tam byt chyby, pisi to bez testovani. A jen se domnivam, ze tak nejak ti funguje ten puvodni kod.
var pos;
var adx_list = [
"clickfakeplayer1",
"clickfakeplayer2",
"clickfakeplayer3"
];
function adxOpen(el) {el.style.display = "block";}
function adxClose(el) {el.style.display = "none";}
function adxElemAll(list)
{
var i, i_end = list.length, el;
for (i=0; i<i_end; i++)
{
el = document.getElementById(list[i]);
list[i] = el;
}
}
function adxCloseAll(list)
{
var i, i_end = list.length;
for (i=0; i<i_end; i++)
{
if (list[i]) adxClose(list[i]);
}
}
function adxFindNext(list, pos)
{
var i, i_end = list.length;
for (i=pos; i<i_end; i++)
{
if (list[i]) return i;
}
return false;
}
adx_list = adxElemAll(adx_list);
adxCloseAll(adx_list);
pos = adxFindNext(adx_list, 0);
pos = adxFindNext(adx_list, pos);
if (pos) adxOpen(adx_list[pos]);
Díky za reakci nakonec to bylo jinde ale tohle rosení testu také vypadá to dobře
Zobrazeno 4 zpráv z 4.