Hirdetés

Keresés

Új hozzászólás Aktív témák

  • lanszelot
    addikt

    Szerintem itt írnak róla jól: [link]
    nyitás után 1000ms delay és close

    Ez nekem nem működik.
    Vagy nem tudom hogyan kell a peldámra alkalmazni.

  • lanszelot
    addikt

    element.open = true;
    element.open = false;
    ??

    Először is köszönöm szépen a választ.
    Azt tudom, hogy false -val bezárom, csak hogyan, és hova kell betennem, hogy amit kinyitott azt zárja be 1mp utan?

  • martonx
    veterán

    Tegnap 26x szerkesztettem a szólást, és mindig egy sorba tette a fórummotor, sajnálom.
    igen, a menüszerű kis szart kellene nézni, felraktam ide [link]
    a footerben a html végén van a kód, ami összecsukja a nyitott menüt ha másikat nyitok
    ami jelenleg a testvérek mellett a saját szülőjét is becsukja, hiába próbálom meg bárhogy felismertetni, hogy a szülő ID-t ne
    már az ul generáláskor elmentem a szülő ID-t is data-parent elembe, ezt össze tudom hasonlítani a becsukandó elemnél, ha a parent id és a becsukandó id egyezik akkor ne, de akkor is becsukja. valamit nem veszek észre...

    Közben eljöttem telelni, amikor hazaérek szívesen ránézek.

  • martonx
    veterán

    üd urak, kicsit elakadtam. illetve nagyon, és már szénné izzasztottam a chatgpt-t is, de nem ad jobb választ, ennél csak rosszabb működést tud

    Van egy oldal, amihez a tartalmat különböző gépek méréseiből generálják, ehhez generálás után hozzáadják a scripteket, amik már elkészültek, többek közt egy automatikus collapse menüt bootstrap alapokon
    [link] itt megtekinthető
    A gond a footerbe beszúrt kóddal lenne, amit sehogy nem tudok jobb működésre bírni.

    <script>            /* GeriSoft added collapse menu close opened items which not need */            document.addEventListener("DOMContentLoaded", function () {                const menu = document.getElementById("menu");                            // Ha egy "collapse" elem megnyílik                menu.addEventListener("show.bs.collapse", function (e) {                    const target = e.target;                                // Bezárjuk az összes másik főmenüt (közvetlen gyerekek az id="menu"-n belül)                    const mainMenuItems = menu.querySelectorAll(':scope > .nav-item > .collapse.show');                    mainMenuItems.forEach(item => {                        if (item !== target) {                            const parentul = document.getElementById(item.id);                            console.log("Becsukódó elem2 parent.id:", parentul.dataset.parent);                            const bsCollapse = bootstrap.Collapse.getInstance(item);                            if (bsCollapse) {                                bsCollapse.hide();                            }                        }                        console.log("Megnyíló elem:", target);                                            });                                    });                            // Ha egy "collapse" elem bezárul                menu.addEventListener("hide.bs.collapse", function (e) {                    const target = e.target;                                    // Bezárjuk az összes gyermeket, kivéve az aktuálisan érintett elemet                    const childMenus = target.querySelectorAll(".collapse.show");                    childMenus.forEach(item => {                        const parentul = document.getElementById(item.id);                        console.log("Becsukódó elem1 parent.id:", parentul.dataset.parent);                        console.log("Becsukódó elem1 item.id:", item.id);                        console.log("Becsukódó elem1 target.id:", target.id);                        if (item !== target) { // Csak azokat zárjuk, amelyek nem az aktuális célpont                            const bsCollapse = bootstrap.Collapse.getInstance(item);                            if (bsCollapse) {                                bsCollapse.hide();                            }                        }                    });                    console.log("Becsukódó elem:", target);                });            });    </script>

    A helyes működés az lenne, hogy egy szülő lehet nyitva, és annak egy ygermeke és annak gyermeke, ha beljebb megyünk, vagyis egy másik szülő nyitása bezárja a nyitott szülőt (ez jó), egy testvár megnyitása bezárja a másik testvért ami nyitva van (ez is jó) de a gyermek szülőjének, aminek a testvérét bezártuk, nyitva kellene maradnia, és jelenleg bezáródik a nyomorultja :(
    már mindent kipróbáltam, az is megvan, hogy mi a bezáródó és a nyíló ul elem id-ja és mi a parent ul id-ja, de innen akármit próbálok a feltételbe brakni, akkor is bezárja a szülőt is
    van valami tipp, mit kell javítani benne?

    miért így szúrja be a kódot??? bocs, próbálom javítani

    Mármint a linkelt oldalon mégis mit kell nézni? A bal oldali menüszerű kis szart?
    Illetve ezzel az egy soros kóddal mit kezdjünk? Jsfiddle-be vagy codepen-be dobd be légyszi, ha már standard bootstrapre épül.

  • hiperFizikus
    senior tag

    üd urak, kicsit elakadtam. illetve nagyon, és már szénné izzasztottam a chatgpt-t is, de nem ad jobb választ, ennél csak rosszabb működést tud

    Van egy oldal, amihez a tartalmat különböző gépek méréseiből generálják, ehhez generálás után hozzáadják a scripteket, amik már elkészültek, többek közt egy automatikus collapse menüt bootstrap alapokon
    [link] itt megtekinthető
    A gond a footerbe beszúrt kóddal lenne, amit sehogy nem tudok jobb működésre bírni.

    <script>            /* GeriSoft added collapse menu close opened items which not need */            document.addEventListener("DOMContentLoaded", function () {                const menu = document.getElementById("menu");                            // Ha egy "collapse" elem megnyílik                menu.addEventListener("show.bs.collapse", function (e) {                    const target = e.target;                                // Bezárjuk az összes másik főmenüt (közvetlen gyerekek az id="menu"-n belül)                    const mainMenuItems = menu.querySelectorAll(':scope > .nav-item > .collapse.show');                    mainMenuItems.forEach(item => {                        if (item !== target) {                            const parentul = document.getElementById(item.id);                            console.log("Becsukódó elem2 parent.id:", parentul.dataset.parent);                            const bsCollapse = bootstrap.Collapse.getInstance(item);                            if (bsCollapse) {                                bsCollapse.hide();                            }                        }                        console.log("Megnyíló elem:", target);                                            });                                    });                            // Ha egy "collapse" elem bezárul                menu.addEventListener("hide.bs.collapse", function (e) {                    const target = e.target;                                    // Bezárjuk az összes gyermeket, kivéve az aktuálisan érintett elemet                    const childMenus = target.querySelectorAll(".collapse.show");                    childMenus.forEach(item => {                        const parentul = document.getElementById(item.id);                        console.log("Becsukódó elem1 parent.id:", parentul.dataset.parent);                        console.log("Becsukódó elem1 item.id:", item.id);                        console.log("Becsukódó elem1 target.id:", target.id);                        if (item !== target) { // Csak azokat zárjuk, amelyek nem az aktuális célpont                            const bsCollapse = bootstrap.Collapse.getInstance(item);                            if (bsCollapse) {                                bsCollapse.hide();                            }                        }                    });                    console.log("Becsukódó elem:", target);                });            });    </script>

    A helyes működés az lenne, hogy egy szülő lehet nyitva, és annak egy ygermeke és annak gyermeke, ha beljebb megyünk, vagyis egy másik szülő nyitása bezárja a nyitott szülőt (ez jó), egy testvár megnyitása bezárja a másik testvért ami nyitva van (ez is jó) de a gyermek szülőjének, aminek a testvérét bezártuk, nyitva kellene maradnia, és jelenleg bezáródik a nyomorultja :(
    már mindent kipróbáltam, az is megvan, hogy mi a bezáródó és a nyíló ul elem id-ja és mi a parent ul id-ja, de innen akármit próbálok a feltételbe brakni, akkor is bezárja a szülőt is
    van valami tipp, mit kell javítani benne?

    miért így szúrja be a kódot??? bocs, próbálom javítani

    Próbáld meg leválasztani a kódodból azokat a kódrészeket, amik nem játszanak szerepet e problémádban, majd teszteld le és írd meg ide ♥
    :((

  • Bzozoo
    tag

    helyette ki is írhatod, mi a megoldásod. mert nyilván hogy fa.. vagyok (mert kb évente egyszer nyúlok bottal a JS/JQ részekhez), én kérek elnézést, hogy tök máshoz értek, de most meg szertetem volna oldani ezt.
    De megértelek, hogy frusztrál, hogy valaki bénább mint te.

    A megoldást már leírták: 9459-es hsz Cattus által

  • Bzozoo
    tag

    végül idegből beraktam egy for ciklusba, nem szép de működik :D

    Akartam volna idetenni egy koporsós képet "Itt temetjük a szakmát" felirattal

  • biker
    nagyúr

    sziasztok, a jquery topic egy éve csendes, gondoltam itt kérdeznék :)
    Hajam kitépem, nem jövök rá, hogy lehetne végtelen animációt készíteni ebből:
    $(document).ready(function(){
    var div1 = $(".ra_stat");
    var div2 = $(".ra_stat2");
    div1.animate({opacity: '1'}, 5000).delay(5000).animate({opacity: '0'}, 2000).delay(10000).animate({opacity: '1'}, 2000);
    div2.animate({opacity: '0'}, 5000).delay(5000).animate({opacity: '1'}, 2000).delay(10000).animate({opacity: '0'}, 2000);
    });

    Feladat: oldal betöltéskor div1 látszik, div2 nem, késleltetést követően div1 elhalványul, utána div2 láthatóvá válik. késleltetést követően div2 eltűnik, div1 láthatóvá válik

    Egyszer meg is csinálja, és többször nem. Googliztam párat, de vagy teljesen szétesett az időzítés, vagy semmit nem csinált többet.

    végül idegből beraktam egy for ciklusba, nem szép de működik :D

  • cattus
    addikt

    sziasztok, a jquery topic egy éve csendes, gondoltam itt kérdeznék :)
    Hajam kitépem, nem jövök rá, hogy lehetne végtelen animációt készíteni ebből:
    $(document).ready(function(){
    var div1 = $(".ra_stat");
    var div2 = $(".ra_stat2");
    div1.animate({opacity: '1'}, 5000).delay(5000).animate({opacity: '0'}, 2000).delay(10000).animate({opacity: '1'}, 2000);
    div2.animate({opacity: '0'}, 5000).delay(5000).animate({opacity: '1'}, 2000).delay(10000).animate({opacity: '0'}, 2000);
    });

    Feladat: oldal betöltéskor div1 látszik, div2 nem, késleltetést követően div1 elhalványul, utána div2 láthatóvá válik. késleltetést követően div2 eltűnik, div1 láthatóvá válik

    Egyszer meg is csinálja, és többször nem. Googliztam párat, de vagy teljesen szétesett az időzítés, vagy semmit nem csinált többet.

    Ahogy néztem jQuery-ben elég rákos végtelen animációt csinálni, szerintem inkább próbáld meg pure CSS módszerrel. Vagy talán ez segíthet.

  • escie
    őstag

    ehhez miért kell java? hogy bonyolultabb legyen?

    <iframe name=''ezakeret''....................... folytatva ahogy akarod
    és minden linknél: <a href=''http://izé.lap/ez.html'' target=''ezakeret''>klikk</a>
    <a href=''http://izé.lap/ezis.html'' target=''ezakeret''>klikk</a>

    és nem kell semmi function, meg javaizé, meg buttonfene

    próbáltam már targettel, de nem ment.
    kipróbáltam most is,-ahogy leírtad-, hátha előzőleg elrontottam valamit, de most sem működött. :(
    nem a iframeben nyitotta, hanem ''teljes képernyőn''.

    nem az kavar be, hogy táblázaban van az egész?
    a link az egyik cellában, az iframe meg egy másikban.

Új hozzászólás Aktív témák

Hirdetés