Javascript és az ablakok

Kezdőlap Fórumok Programozás Javascript és az ablakok

10 bejegyzés megtekintése - 1-10 / 11
  • Szerző
    Bejegyzés
  • #2066838
    gabaman
    Felhasználó
      str2etboy wrote:
      Már elkezdtem megírni a kódot. Addig eljutottam, h az ablakok objektumok, amiknek vannak eventjei a mozgatáshoz. Amikor viszont 2 ablak van, csak az egyiket tudom mozgatni, a másikat nem. Mintha annak eltûntek volna az event handlingjei.

      Amikor létrehozol egy ablakot és nem vizsgálod meg, hogy már létezik-e egy azonos nevû (id) elem. De nem ez a baj. A win() egy statikus függvény, ami nem adja át a paramétereit az eventek kezeléséhez, nem dob hibaüzenetet?.

      #2066839
      gabaman
      Felhasználó

        Nos, régen használtam javascriptet.  :closedeyes:

        Az e.id helyett e.target.id kell, de az IE természetesen mást használ (srcElement). Ezzel ki lehet vinni a beágyazott függvényt. Viszont nem ez okozza a hibát. A „document.body.innerHTML += str;” törli a body elemeit (teljesen és az összeset!), majd újragenerálja. Ezért vesznek el az eventek. Ezzel cseréld le, és menni fog (kipróbáltam):

        Code:
                var table = document.createElement(‘DIV’);
                table.innerHTML = str;
                document.body.appendChild (table);

        Ráadásul néhány böngészõ nem adja át az event paramétert…

        Code:
        (..) function (e)
        {
            if (!e) var e = document.event;

            (…)
        }

        #2066840
        str2etboy
        Felhasználó

          Fú…

          Erre nem is számítottam, h ilyen gyorsan ilyen mindenre jó megoldást kapok.  :rolleyes: Köszi! Mûködik… De azért még majd nyaggatlak egy kicsit a bajaimmal, mert sztem lesz még.

          #2066841
          str2etboy
          Felhasználó

            Azt a rétegesdit hogyan is kell érteni? Nem tudom elképzelni, h hogyan készítsek 2 réteget. Z-index-szel? Meg a már regisztrált ablakok nyilvûntartására milyen módszert javasolsz? Array-ekben tároljam az adatait?

            #2066842
            erdsiger
            Felhasználó
              #2066843
              gabaman
              Felhasználó
                str2etboy wrote:
                Azt a rétegesdit hogyan is kell érteni? Nem tudom elképzelni, h hogyan készítsek 2 réteget. Z-index-szel?

                A HTML/CSS párost okos emberek készítették, de nem tudom megérteni, a rétegeket egy fércmunka helyett miért nem készítették el olyan szinten, mint a többi részt. Pedig minél látványosabb egy javascript-es oldal, annál többször használnak rétegeket. Van egy nem szabványosított LAYER tag, amit a megértéshez könnyebben lehet használni. Ugyanis ha egy stílusban használod a z-index értéket, akkor autómatikusan létrejön egy láthatatlan réteg (nem különáló elem). Tehát, neked ez van:

                Code:
                document
                  body
                    input
                    table (ablak)
                      tr (fejléc)
                      tr (törzs)
                    table (ablak)
                      tr (fejléc)
                      tr (törzs)

                Ha viszont használod a z-index értéket, akkor így jobban megérted:

                Code:
                document
                  body
                    input
                    layer z-index = XXX
                      table (ablak)
                        tr (fejléc)
                        tr (törzs)
                    layer z-index = XXX
                      table (ablak)
                        tr (fejléc)
                        tr (törzs)
                #2066844
                str2etboy
                Felhasználó
                  #2066845
                  str2etboy
                  Felhasználó

                    Nah.. Már meg is van a következõ kérdésem.  ;D
                    Mivel ezzel a scripttel dinamikusan módosítom a HTML oldal tartalmát arra gonoldtam, ha hozzá is tudok adni egy elementet, akkor el is lehet azt távolítani, nem? Meg is találtam a Mozilla DOM helpjében a removeChild parancsot, de nem nagyon akar menni. Akkor mûködik, ha egy olyan részt akarok eltüntetni, ami már eddig is létezett és nem dinamikusan lett létrehozva. Mi lehet a bibi? Mi alapján határozzam meg, hogy melyik részt akarom eltenni láb alól, ha a document.getElementById(„dinamically_created_elemen_id”) verzió nem megy?

                    #2066846
                    str2etboy
                    Felhasználó

                      Oké.. Bocsi, h megint nem néztem körül eléggé, de közben megtaláltam a választ:

                      Code:
                      function remove(id){
                      var mit = document.getElementById(id);
                      var parent;
                      parent = mit.parentNode;
                      parent.removeChild(mit);
                      }
                      #2066847
                      gabaman
                      Felhasználó

                        A két réteg a „kézi” LAYER tag alkalmazására vonatkozott, de ahogy megvalósítottad a rétegeket a stílusok segítségével, úgy annyi réteged van, ahány ablakod. Viszont csak 2 rétegbe szervezed õket, így az alsó ablakok között nem lesz helyes a takarás. Kellene még egy tömb, ahol a rétegek számát (z-index) tartod nyilván. Ha 2-tõl kezded szamozni a rétegeket, akkor lehetne az egyes az óra és a menük számára kialakítva.

                      10 bejegyzés megtekintése - 1-10 / 11
                      • Be kell jelentkezni a hozzászóláshoz.