Autor | Zpráva | ||
---|---|---|---|
MATRAUX Profil |
Dobrý den,
mám problém s funkčností javascriptu v prohlížečích krom firefoxu 3.5 javascript otevře nové okno a do něj vytvoří novou webovou stránku s fotkou a menu pro výběr fotky a ještě načte znovu sám sebe aby byly funkční všechny prvky menu pro výběr fotky. Ovšem problém je v tom, že v ostatních prohlížečích mi nefungují prvky menu (zpět, další, a přímý výběr fotky). fotogalerie se nachází na www.matraux.ic.cz/dynamic/index.php a javascript na www.matraux.ic.cz/dynamic/wf.js Vůbec nevím kde by mohla být chyba. ukázka javascriptu: Moderátor Chamurappi: Odmazána. To nebyla ukázka, ale celý zdroják výše odkázaného JS, který se sem ani nevešel.
|
||
Joker Profil |
#2 · Zasláno: 20. 1. 2010, 16:13:06
MATRAUX:
Ty funkce back a next jsou docela kuriózní. Místo aby prostě změnily obrázek, vypíší celou novou stránku s dalším/předchozím obrázkem. Což je taky to, co se stane... pod aktuální stránkou se objeví nová stránka s tím obrázkem. A kliknutím na další/zpět u něj přibude zase další "stránka" s dalším obrázkem. |
||
_es Profil |
#3 · Zasláno: 20. 1. 2010, 16:24:03
MATRAUX:
Metóda document.write by mala byť použitá len raz, najprv zostaviť reťazec a potom ho celý naraz zapísať. Premenné by mali byť definované cez príkaz var. Je to spoľahlivejšie a niektoré prehliadače môžu použiť lepšie optimalizácie. |
||
MATRAUX Profil |
#4 · Zasláno: 20. 1. 2010, 16:46:01
Joker:
Takže co by jsi doporučil abych s tím udělal ? :-) |
||
MATRAUX Profil |
#5 · Zasláno: 21. 1. 2010, 02:55:31 · Upravil/a: MATRAUX
Problém vyřešen,
celý html jsem dal do divu který pak funkce next nebo back odstraní. Každá další fotky je vždy umístěna do DIVu s jiným id. viz: www.matraux.ic.cz/dynamic2/ <-- odstaveno (http://penzionchalupa.cz/?index=6) |
||
Joker Profil |
#6 · Zasláno: 21. 1. 2010, 07:25:59
MATRAUX:
„Takže co by jsi doporučil abych s tím udělal ? :-)“ No v první řadě nevím, proč ta funkce smaže a následně zase vyrobí úplně tu samou strukturu. Ani předávat to ID není potřeba. S tímhle návrhem stačí si někde držet ukazatel, na jakém obrázku zrovna jsem, a při kliknutí na další/předchozí jen změnit src obrázku a aktualizovat ukazatel. |
||
MATRAUX Profil |
#7 · Zasláno: 21. 1. 2010, 12:51:13
Joker:
Kéž bych veděl jak na to... |
||
_es Profil |
#8 · Zasláno: 21. 1. 2010, 13:06:16
|
||
MATRAUX Profil |
#9 · Zasláno: 21. 1. 2010, 13:41:57 · Upravil/a: MATRAUX
_es:
No to je hezký, ale nevím jak mě pomůže přechod na druhou fotku když potřebuju těch přechodů několik za sebou. |
||
_es Profil |
#10 · Zasláno: 21. 1. 2010, 14:01:54
MATRAUX:
„potřebuju těch přechodů několik za sebou.“ A čo ti bráni to tak spraviť? V tom vyskakovacom okne máš niekoľko obrázkov a stačí im len zmeniť vlastnosť src, tak, ako ti radí Joker. Ak je dokument vytvorený len cez document.write(), tak je treba na konci ešte vykonať príkaz document.close(). Okrem toho stále skladáš dokument z množstva volaní document.write, čo môže spôsobiť problémy. Ako to zlepšiť, som ti už radil. |
||
Joker Profil |
#11 · Zasláno: 21. 1. 2010, 14:09:12
MATRAUX:
„Kéž bych veděl jak na to...“ Jediná nová věc, kterou tam potřebujete použít, je metoda document.getElementById; Obrázku nastavíte nějaké ID, podle něj ho zaměříte a pak mu změníte src. Zvýšit nebo snížit hodnotu proměnné snad zvládnete. |
||
MATRAUX Profil |
#12 · Zasláno: 21. 1. 2010, 14:40:30
Joker:
V JS dělám asi tak měsíc. Nemám moc představu o tom jak použít document.getElementById. , byl bych opravdu vděčný za nějakou ukázku zdrojového kódu. Návody na JS mi moc nepomohly. |
||
_es Profil |
#13 · Zasláno: 21. 1. 2010, 14:42:09 · Upravil/a: _es
Joker:
„Jediná nová věc, kterou tam potřebujete použít, je metoda document.getElementById;“ Ani to netreba, v ovládači udalosti onclick môže pracovať s atribútom id cez this.id, atribútom src cez this.src a pod. A kolekcia obrázkov funguje cez document.images. |
||
MATRAUX Profil |
#14 · Zasláno: 21. 1. 2010, 15:12:33 · Upravil/a: MATRAUX
Tak a teď jsem z toho úplně zblblý, protože už fakt nevím co za funkci bych měl použít, jak ji použít, kam ji napsat, jak ji napsat...... Každopádně děkuji za radu ohledně "document.close();"
Nechtěli by jste tu někdo z vás napsat třeba nějaký ten script? Docela by mi to pomohlo protože když tu jen říkáte co by bylo lepší použít tak mi to moc neřekne, protože nevím jak co pořádně použít. |
||
Časová prodleva: 4 dny
|
|||
MATRAUX Profil |
#15 · Zasláno: 25. 1. 2010, 13:37:04 · Upravil/a: MATRAUX
Tak konečně se mi to povedlo udělat, děkuji všem za rady, moc mi to pomohlo.
Nakonec jsem použil metodu "document.getElementById" a práce s prvky je udělaná přes "this.id". Hotový kód je k vidění na www.matraux.ic.cz/d_book/wf.js a jeho použití na www.matraux.ic.cz/d_book/ . V případě že by jste někdo věděli jak kód ještě zkrátit nebo zjednodušit tak mi prosím napiště. |
||
Časová prodleva: 13 let
|
0