[JS] Objecten uit document array halen

Pagina: 1
Acties:

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Topicstarter
Ik maak een hoeveelheid objecten aan en die plaats ik in een document array. Maar als ik ze er weer uit wil halen krijg ik een error "cannot assign to this"
PHP:
1
<?prev=this.exists(windowDetails[0]);    if (!prev)    {        this.windowName=windowDetails[0];        this.mainVenster=new dynObject(this.windowName,'mainDiv');    }    else {        alert("retry");        this=prev; //<--- CRASHT        }?>


PHP:
1
<?function dbWinExists(name) {    return document.dbWin[name]?document.dbWin[name]:false;}?>

Hoe kan ik het wel doen? of maak ik een denk fout?

Programmer - an organism that turns coffee into software.


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

Wat ie zegt.

Cannont assign to this.

this is een keyword wat refereert naar het object waar de code in uitgevoert wordt. Dat kun je dus niet zomaar ff veranderen :)

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Topicstarter
Op woensdag 03 juli 2002 12:33 schreef Bosmonster het volgende:
Wat ie zegt.

Cannont assign to this.

this is een keyword wat refereert naar het object waar de code in uitgevoert wordt. Dat kun je dus niet zomaar ff veranderen :)
Hmmm... Jammer...

Hoe kan ik het dan oplossen? Moet ik alle data hij de document array halen, en deze in this stoppen. En vervolgens de document array vervangen door this?

dus vb. (semi - pseudo code)
this.plaatje=document.dbWin[name].plaatje;
etc...
extra code die op this word losgelaten.
document.dbWin[name]=this;

Programmer - an organism that turns coffee into software.


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

ik snap nog niet helemaal wat je ermee wilt doen

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Topicstarter
Op woensdag 03 juli 2002 12:41 schreef Bosmonster het volgende:
ik snap nog niet helemaal wat je ermee wilt doen
Ik heb een systeem dat een boel layers aanmaakt (afhankelijk van de gebruiker ), maar nu wil ik layers kunnen hergebruiken.

met
code:
1
this.mainVenster=new dynObject(this.windowName,'mainDiv');

maak ik een hoofdlayer aan en daarboven op komen diverse childs. Deze kan ik dan rusig wijzigen en/of verwijderen.

Aangezien ik het aanroepen van een nwe layer of een bestaande layer op dezelfde manier wil laten verlopen, moet ik alle gegevens van die layer in het nwe object hebben.

Programmer - an organism that turns coffee into software.


Verwijderd

Je kunt toch een Child aan die bestaande layer toevoegen en de z-index van een van de twee aanpassen !?
Ik begrijp anders niet echt wat je bedoelt met deze code

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Topicstarter
Hmm...

het object heeft meer gegevens dan alleen layers. En ik wil juist voorkomen dat we layers blijven toevoegen.

Wat ik nu dus gedaan heb:
PHP:
1
<?    prev=this.exists(windowDetails[0]);    if (!prev)    {        this.windowName=windowDetails[0];        this.mainVenster=new dynObject(this.windowName,'mainDiv');    }    else {        this.kloon(windowDetails[0]);?>


PHP:
1
<?dbWinproto.kloon = dbWinClone;function dbWinClone(name) {what=document.dbWin[name];    for (i in what) {        this[i] = what[i];    }}?>

En dit werkt goed...

Programmer - an organism that turns coffee into software.


Verwijderd

/me snapt wel wat van JS, maar dit gaat me te boven, sorry..

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Topicstarter
* LuCarD vraagt zich af of dat komt door mijn kennis in uitleggen of mijn kennins in JS :o

Programmer - an organism that turns coffee into software.


  • Bluestorm
  • Registratie: Januari 2000
  • Laatst online: 20-08-2022
Misschien handig om te vertellen wat het this object is... Want nu is mij volstrekt onduidelijk wat je aan het doen bent.

Tenminste... dat [ denk / zie / weet ] ik... | Javascript obfuscator | foto's en video's uploaden


  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Topicstarter
Het is een verzameling van Layers, Scrollbars, en de inhoud van de verschillende layers.

Het grootste probleem is/was dat deze op dynamisch geladen worden via het XML object. En de layernamen worden opgegeven in het XML document dat word geladen op de achtergrond.

Dan kan het dus gebeuren dan twee layers dezelfde naam loopt te maken. Dat kan niet! Dus ben ik met idee gaan lopen spelen om de layers te gaan recyclen.

Programmer - an organism that turns coffee into software.

Pagina: 1