Autor Zpráva
gully
Profil
Ahoj všem,

potřeboval bych pomoct s následujícím problémem: Na stránce onderax.cz/#!/GALERIE vkládám galerii, ale po jejím vložení přestane fungovat vertikání posuvník. Můžete mi někdo pomoct tuto chybu odstranit?
Xanomes_
Profil *
gully:
Firefox 55, posuvníky (jak ten v galerii, tak ten normální) funkční.
gully
Profil
Ano FF se zdá být OK. V Chrome, IE a Edge bohužel nefunguje.
weroro
Profil
Zhadzuje ti to asi tento riadok
document.getElementByID("A_GALERIE").onclick máš tam syntaktickú chybu. Má to byť getElementById (s malým D na konci). Keď to upravíš posunieme sa ďalej.
gully
Profil
Nic takového tam nevidím. Můžeš prosím napsat, kde to je?
Keeehi
Profil
gully:
https://onderax.cz/js/anchors_events.js

Kdyby jsi si otevřel vývojářské nástroje, tak by jsi to viděl taky.
gully
Profil
Máš pravdu, opraveno.
Keeehi
Profil
Ale ty vývojářské nástroje sis neotevřel, že? Protože by jsi viděl, že je tam další chyba. Jaká? To ti neřeknu. Snad tě to donutí si je otevřít a opravovat chyby do té doby, než se tam žádné zobrazovat nebudou.
Xanomes_
Profil *
Keeehi:
Paradoxně to tentokrát rozbil i ve Firefoxu, skript zamrzne a nic nenačte.
gully
Profil
Keeehi:
1.
anchors_events.js:1 Uncaught TypeError: Cannot set property 'onclick' of null at anchors_events.js:1

2.
Uncaught TypeError: Cannot read property 'addClass' of undefined
at b.(anonymous function).(anonymous function)._mouseCapture (onderax.cz/js/jquery-ui-1.8.11.custom.min.js:71:68)
at b.(anonymous function).(anonymous function)._mouseDown (onderax.cz/js/jquery-ui-1.8.11.custom.min.js:46:271)
at HTMLDivElement.<anonymous> (onderax.cz/js/jquery-ui-1.8.11.custom.min.js:45:188)
at HTMLDivElement.dispatch (onderax.cz/js/jquery.1.11.2.min.js:3:8549)
at HTMLDivElement.r.handle (onderax.cz/js/jquery.1.11.2.min.js:3:5252)

Jenomže v javascriptu nedělám, takže s tím určitě nepohnu.


Xanomes
Mě se to "paradoxně" načte ...
Xanomes_
Profil *
gully:
Teď už ano, nicméně posuvník je rozbitý i ve Firefoxu. Také nerozumím tomu, proč zakládáš vlákno o nefunkčním JavaScriptu, když JavaScriptu nerozumíš, navíc v kategorii HTML.
gully
Profil
Poslouchej, začínáš mě pěkně srát s těma tvejma kecama. Ty asi rozumíš všemu, že. Jak se tak dívám zpátky dodiskuzí... Jestli pane dokonalý nemáte s čím poradit, tak DRŽ ZOBÁK!. A mimochodem, nechápu to Tvé teď už, žádné nebylo. Já to možná neumím opravit, ale ty ani spustit!
Xanomes_
Profil *
mmm
Keeehi
Profil
gully:
Jenomže v javascriptu nedělám, takže s tím určitě nepohnu.
No, tak to ti nezávidím, že sis vybral na úpravu zrovna stránku kde ho je taková spousta. Navíc ten kód je příšerný. Například js knihovnu pro prettyphoto (asi nějaká galerie)tam někdo dal rovnou dvakrát. To asi aby to fungovalo dvakrát lépe. Stejný mistr nejspíše zapomněl vymazat i některé části šablony které někde našel, takže se v ní nalézají stále poklady jako onderax.cz/#!/page_PRIVACY

Cannot set property 'onclick' of null
To znamená, že metoda getElementById vrátí null. Tedy nenalezla hledaný prvek. Jak je to možné? To je tím, že v době spuštění javascriptu daný element ještě neexistuje. To je dané tím, že ten javascriptový soubor se linkuje před tím než se v kódu objeví ten element s daným ID. Je tedy potřeba zajistit, aby se ten kód provedl až později. A toho se dá docílit přesunutím scriptu až za něj a nebo vyčkáním do doby, než si můžeš být jistý, že už ten element existuje. Stačí počkat na načtení stránky. Když už tam to jQuery máš, tak ti napíšu, jak to vypadá v něm.
$(function() {
    // kód co se má spustit až po načtení všech elementů stránky
});
gully
Profil
Odstranil jsem věci, který jsi napsal a na rovinu, všechno to jsou moje nesmysly. Tu funkci, jak jsi napsal, jsem tam dal (snad správně).

<script type="text/javascript">
$(function() {
    // kód co se má spustit až po načtení všech elementů stránky
    $.getScript('https://onderax.cz/js/cScroll.js');
});
</script>

Ještě je tady jeden problém, a sice, že se ta galerie někdy kompletně nenačte na první pokus. A ani ten posuvník někdy nejde, jak by měl (Edge). Můžeš mi napovědět, jak to opravit?

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: