Autor | Zpráva | ||
---|---|---|---|
Fred Profil |
#1 · Zasláno: 5. 7. 2005, 13:51:52
for(var i=0;i<divy.length;i++){
var zobrazen=divy[i].style.display; if(zobrazen=='block'){ var cislo=divy[i].getAttribute('rel'); var dalsi='a'+(cislo*1+1); divy[cislo].style.display='none'; //divy[dalsi].style.display='block'; // tohle mi vrací že nemá vlastnosti ? alert(dalsi) }} |
||
Charlie Profil |
#2 · Zasláno: 5. 7. 2005, 13:55:25
var dalsi='a'+(cislo*1+1); Tento řádek vám to asi přetypuje na číslo. Zkuste tohle: var dalsi='a'+((cislo*1+1)+''); |
||
Fred Profil |
#3 · Zasláno: 5. 7. 2005, 14:05:13
To dělá to samý, v alertu to vrátí požadovanou hodnotu, což je vlastně id dalšího divu, ale když ho chci zobrazit (divy[dalsi].style.display='block'; ) nejde to.
|
||
Fred Profil |
#4 · Zasláno: 5. 7. 2005, 14:07:51
BTW zkoušel jsem i document.getElementById(dalsi).style.display='block'; a taky to nejde, přitom v alertu to vrací správné idéčko
|
||
Fred Profil |
#5 · Zasláno: 5. 7. 2005, 14:30:44
Teď jsem zkusil odkomentovat obojí tady takhle
for(var i=0;i<divy.length;i++){ var zobrazen=divy[i].style.display; if(zobrazen=='block'){ var cislo=divy[i].getAttribute('rel'); var dalsi='a'+(cislo*1+1); divy[cislo].style.display='none'; getId(dalsi).style.display='block'; alert(dalsi) } } a funguje to, ale když zakomentuju ten alert přestane to fachat? |
||
peta Profil * |
#6 · Zasláno: 5. 7. 2005, 15:10:53
A nejaky zbytek scriptu?
Ja vidim treba tohle: radek1: for(var i=0;i<divy.length;i++) ... cili i nabyva hodnoty cisla radek2: divy[i].style.display; ... kde i=0 (treba) radek5: var dalsi='a'+(cislo*1+1) ... dalsi je retezec zakomentovany ... radek7: divy[dalsi].style.display='block'; ... kde dalsi="a0" (ve srovnani s radkem 2 neco jineho) ten druhej pokus nechapu, jestli na nem, co opravovat? Ja treba, kdyz resim displejoviny, tak pouzivam pole s true/false a uplne nakonec to zapisuji do prvku. Dale treba vnitrni promenne znacim jednim pismenkem, globalni jako text>2, coz zvysuje prehled. |
||
Fred Profil |
#7 · Zasláno: 5. 7. 2005, 15:12:22
Pošlu to na web
|
||
Fred Profil |
#8 · Zasláno: 5. 7. 2005, 15:17:17
http://xy.wz.cz/prezentace.html text je jen vycpávka, nemám sílu ho teď předělávat, nemělo to jít na web. Jde o to ovládání pomocí klávesnice šipky vlevo, vpravo a nahoru.
|
||
Charlie Profil |
#9 · Zasláno: 5. 7. 2005, 15:19:53
Ve Firefoxu 1.0.4 mi to funguje v pohodě. Jaký je tam ještě problém?
|
||
Fred Profil |
#10 · Zasláno: 5. 7. 2005, 15:25:25
Charlie Nefunguje zkus šipku doprava na klávesnici, mělo by se to posunout na další nezobrazený div, alert to vrací správně. Jen netuším jestli by to fungovalo i na linuxu. Kdyžtak šipka vlevo vrátí alert <
|
||
Charlie Profil |
#11 · Zasláno: 5. 7. 2005, 17:06:41
Ale proč to teda tlačítkama funguje?
|
||
Fred Profil |
#12 · Zasláno: 5. 7. 2005, 19:57:43
Užjsem to opravil, byl to nesprávný přístup k this. Musel jsem holt přidat pomocnej input hidden.
|
||
Fred Profil |
#13 · Zasláno: 5. 7. 2005, 20:14:15
Můžete se mi prosím na to někdo mrknout jestli to ovládání šipkami funguje dobře i v Linuxu? Ve windowsech jsem to testoval v prohlížečích Firebird 0.7, Firefox 1.01, K-meleon 0.7, K-meleon 0.9, IE 5,IE 5.5, IE 6, Opera 8, Opera 7.23, Opera 7.5, Mozilla 1.7.2, Netscape 7.0, Netscape 7.2 a Lynx. Je to tady http://xy.wz.cz/prezentace.html
|
||
Charlie Profil |
#14 · Zasláno: 5. 7. 2005, 20:21:17
Firefox 1.0.4 OK, to je asi jasné. Mimochodem pěkný script :D
|
||
Fred Profil |
#15 · Zasláno: 5. 7. 2005, 20:45:40
Ó děkuji, jen jsem si hrál a ono se to samo vyvíjelo, viděl jsem něco co dělá to samé. Tady http://adactio.com/atmedia2005/ je to odsud http://www.meyerweb.com/eric/tools/slideshow/test.html . Protože jsem to celé zbastlil úplně z gruntu, tak to asi někam vyhodím na web pod GPL licencí :-) Jenomže furt nějak nemám chuť pustit se do udržovaných stránek.
|
||
peta Profil * |
#16 · Zasláno: 5. 7. 2005, 21:52:47
Fred: Tu klavesnici mas zajimave. Nevim, proc tam mas ten DOM eventListener...
Tu klavesnici bych asi prehodil: --- function klavesa(e) {var k; if (!e) e=window.event; k=(e.which)?e.which:e.keyCode; --- which je kratsi, proto bych jej dal do podminky :) |
||
Fred Profil |
#17 · Zasláno: 5. 7. 2005, 22:07:11
Nevim, proc tam mas ten DOM eventListener Koukal jsem, že vždycky používáš tuhle
function objGet(x) {if (typeof x=='string') with (document){ if (Boolean(getElementById)) x=getElementById(x); else if (Boolean(all)) x=eval('all.'+x); else if (Boolean(layers)) x=layers[x]; else x=null;}return x;} No a ta funkce co používám já function addEvent(obj,evType,fn) ... dělá v podstatě to samý. Ta tvoje fce jestli jí teda úplně chápu by měla fungovat i v nevyzpytatelných vykopávkách jakoé je NN4 a IE4 no a já tzhle prohlížeče touhle funkcí jednoduše odstřihnu, protože stejně neumí DOM. V nich se jednoduše zobrazí stránka bez js. S tou tvojí funkcí se pravděpodobně zhroutí. Výhoda dvě je ta, že oproti prostému window.onload=funkce , tady s touhle dokonalou funkcí můžu mít onloadů kolik chci a nemusím se příliš zabývat tím, že by se dvě funkce mezi sebou mlátili. Když tak tady je o tom víc http://www.scottandrew.com/weblog/articles/cbs-events nebo tady http://www.czv.com/konsensfabrik/TengoodpracticesforwritingJavascript/ , ale já se pořád jenom učím a jde to hrozně pomalu |
||
Fred Profil |
#18 · Zasláno: 5. 7. 2005, 22:11:47
Možná ještě tohle čtení bude lepší zdůvodnění proč to používám http://www.bobbyvandersluis.com/articles/goodpractices.php
http://www.digital-web.com/articles/separating_behavior_and_structure_ 2/ |
||
peta Profil * |
#19 · Zasláno: 6. 7. 2005, 07:47:19
Fred: S tim zhroucenim bych si nebyl tak jist, bracha ma IE5 a v poho. Nicmene oki, nezkoumal jsem, k cemu tam ten event listener mas. Jen mi bylo divny, ze jej nevyuzijes i pro klavesnici.
Jo, ted jsem vstal, a napadlo mne, proc tam generujes tlacitka? Vzdyt muzou byt dole napevno. Pripadne jim menit pouze visibilitu nebo disablovani. <div id=hlavni> <div> text </div> <form> tlactika </form> |
||
Fred Profil |
#20 · Zasláno: 6. 7. 2005, 08:22:29
Jo to mám v plánu, udržet je konstantně na jednom místě, aby se neposouvaly spolu s obsahem. Asi span{position:absolute;right:0;bottom:0;}, nebo tak nějak, ale zatím nevím jak to líp ostylovat. V IE5 to funguje v pohodě, ta fce odřezává čtyrkové verze NN4 a IE4.
|
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0