Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno WordPress - Accordion - Jak načítat vše uzavřené a zakázat animaci?

Dobrý den,

Na této stránce (odkaz) jsem vytvořil dvakrát Accordion respektive rozbalovací položky. Problémem je, že při načtení je první položka vždy rozbalená a animace je pomalá a v tomhle případě úplně zbytečná.

Asi to jde nastavit přímo v pluginu, který jsem to udělal (Elementor), ale tam je spousta funkcí placených, takže ve Free verzi to pravděpodobně nejde.

Jak to, prosím Vás, nastavím přes CSS/JS? ChatGPT mně moc nepomohl a ztratil jsem už v samotném rozložení.

Děkuji za odpověď

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Nevím nakolik bojuješ s AI a WP (dal jsem mu odkaz na tuto stránku), mi to ukázalo: ChatGPT: „Je to…
IQ37 13.05.2026 16:37
IQ37
UPDATE k předchozí odpovědi. Odebrání atributu open vyřešilo problém s prvotním načtení, ale zárove…
MichalDM 14.05.2026 11:46
MichalDM
AI: "Moje odpověď na Poradnu by byla: „Jestli samotné přidání/odebrání atributu open dělá přesně po…
IQ37 15.05.2026 02:05
IQ37
Tak nakonec se mně podařilo vykomunikovat s ChatGPT i vyřešení druhého problému. Nelze to zakázat, j… poslední
MichalDM 17.05.2026 23:04
MichalDM

Nevím nakolik bojuješ s AI a WP (dal jsem mu odkaz na tuto stránku), mi to ukázalo:

ChatGPT: „Je to standardní Elementor Accordion ve WordPressu? Máš přístup do administrace a možnost vložit vlastní CSS/JavaScript (např. přes plugin nebo šablonu)?“

Protože:

* zavřít vše při loadu = pár řádků JS
* vypnout animaci = CSS
* ale bez přístupu k webu je to akademická odpověď

Jestli to chceš jako odpověď na Poradnu, formuloval bych to spíš tak, aby se nejdřív ozval s úrovní přístupu, ne aby dostal hned řešení, které neumí použít.

UPDATE k předchozí odpovědi.

Odebrání atributu open vyřešilo problém s prvotním načtení, ale zároveň by to vyřešilo i druhý problém. Odebrání/Přidání dělá přesně to co chci.

Problém je, jak potlačit tu animaci. Nemůžu přijít na to, jak se přesně pouští a jak ji přebít/potlačit.

AI: "Moje odpověď na Poradnu by byla:

„Jestli samotné přidání/odebrání atributu open dělá přesně požadovaný efekt bez animace, pak je jednodušší nezkoušet animaci přebíjet, ale obejít původní handler a udělat vlastní click toggle nad <details>. CSS má smysl jen pokud je to transition; pokud Elementor používá JS slide animaci, přebíjení bude zbytečný boj.“ Tohle je podle mě správný směr."

Já ti ale nebudu dělat prostředníka s AI. :-)

Tak nakonec se mně podařilo vykomunikovat s ChatGPT i vyřešení druhého problému. Nelze to zakázat, jednoduše napsat vlastní funkci pro volání při kliknutí.

document.addEventListener('click', function(e) {

    const summary = e.target.closest('.e-n-accordion-item-title');

    if (!summary) return;

    e.preventDefault();
    e.stopImmediatePropagation();

    const currentDetails = summary.closest('details');

    const isOpen = currentDetails.hasAttribute('open');

    // Zavřít všechny ostatní
    document.querySelectorAll('.e-n-accordion-item[open]')
    .forEach(details => {

        if (details !== currentDetails) {
            details.removeAttribute('open');
        }

    });

    // Toggle aktuálního
    if (isOpen) {
        currentDetails.removeAttribute('open');
    } else {
        currentDetails.setAttribute('open', '');
    }

}, true);

Tím je to vyřešeno.

I přesto děkuji

Zpět do poradny Odpovědět na původní otázku Nahoru