Een dynamisch element en cache....

Status
Niet open voor verdere reacties.

poashoas

Gebruiker
Lid geworden
31 mei 2008
Berichten
66
Hoi iedereen,

Ik zit een met een dynamisch vs. statisch probleem.
Ik verander het id van een knop als er op geklikt wordt van "maximize" naar "minimize". Als er weer op geklikt wordt dan andersom. Het probleem is dat als er de tweede keer geklikt dat javascript zowel de "maximize" (statische id) vindt als de "minimize" (dynamische id). De id "maximize" wordt bij wijze van spreken niet echt 'verwijderd' of ik zit in een tunnelvisie en zie een domme fout over het hoofd.

De functies zitten in een soort van een lus:

[js]
function maximize(){
var maximize=AccessHTML.CheckObjectById('', 'maximize');

if(maximize){
alert('maxi');

var btn=document.getElementById("maximize");

var param1=new Array();
param1[0]='left';
param1[1]='100';
param1[2]='minimize';
AccessHTML.AddEvent(btn, param1, 'AccessHTML.animateWidth', 'click');

var param2=new Array();
param2[0]='right';
param2[1]='880';
param2[2]='maximize';
AccessHTML.AddEvent(btn, param2, 'AccessHTML.animateWidth', 'click');

var param3=new Array();
param3[0]='minmenu';
param3[1]='left';
param3[2]='';
param3[3]='';
AccessHTML.AddEvent(btn, param3, 'Navigator.Load', 'click');

AccessHTML.AddEvent(btn, '', 'Convert2Minimize', 'click');[/INDENT]
}else{
alert('mini');

var btn=document.getElementById("minimize");

AccessHTML.RemoveEvent(btn, 'click');

var param1=new Array();
param1[0]='left';
param1[1]='456';
param1[2]='maximize';
AccessHTML.AddEvent(btn, param1, 'AccessHTML.animateWidth', 'click');

var param2=new Array();
param2[0]='right';
param2[1]='524';
param2[2]='minimize';
AccessHTML.AddEvent(btn, param2, 'AccessHTML.animateWidth', 'click');

var param3=new Array();
param3[0]='menu';
param3[1]='left';
param3[2]='';
param3[3]='';
AccessHTML.AddEvent(btn, param3, 'Navigator.Load', 'click');

AccessHTML.AddEvent(btn, '', 'Convert2Maximize', 'click');[/INDENT]
}

}

Convert2Minimize{
var btn=AccessHTML.GetElements("btnEnlarge", "a"); //
btn[0].id='minimize';

maximize();
}

Convert2Maximize(){
var btn=AccessHTML.GetElements("btnEnlarge", "a");
btn[0].id='maximize';

maximize();
}
[/js]
 
Laatst bewerkt door een moderator:
geef ook even je HTML, en vertel eens wat
[JS]AccessHTML
AccessHTML.CheckObjectById
AccessHTML.AddEvent
AccessHTML.animateWidth
//en
AccessHTML.GetElements
[/JS]
doen.
 
geef ook even je HTML, en vertel eens wat
[JS]AccessHTML
AccessHTML.CheckObjectById
AccessHTML.AddEvent
AccessHTML.animateWidth
//en
AccessHTML.GetElements
[/JS]
doen.

Bedankt voor je reactie.

Wat het ook was, ik heb heel radicaal maar gewoon de button weg gehaald met removeelement en er een nieuwe neergezet met bijbehorende functies.
Dat werkte prima.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan