Hallo Kollegen!
Voller Eifer habe ich mich heute das erste mal an die Arbveit gemacht, eine Klasse in Java Script zu entwerfen. Wunder, es klappt auch soweit. Die Klasse liefert mir zwei Rolloverbuttons in einem Array.
Benutze ich nun den Konstruktor new 'Klassenname' erhalte ich tätsächlich die gewünschten Objekte, die ich ins Dokument einfügen kann. Nur mit Eigenschaften und Methoden hapert es noch. Die in meinen Dokuemntationen vorgeschlagenene Vorgehensweisen versagen leider.
der Code ( ist ziemlich umfangreich ):
//Klasse Menübutton
function MenuButton( buttonName, leftPosition, topPosition, clickHandlerShow, clickHandlerHide, imageReferenz )
{
//Array für die Elementennamen
var labelNames = new Array( '_LabelShow', '_ButtonShow', '_LabelHide', '_ButtonHide' );
this.Name = buttonName;
//Array mit den Größenangaben
var brdArray = new Array();
brdArray[ 0 ] = new Array( 130, 30 );//Hintergrundlabel - Größe
brdArray[ 1 ] = new Array( 120, 20 );//Kategorielabel - Größe
//Arry mit Bildreferenzen
var posArray = new Array()
posArray[0] = new Array( 4, 4 );
//Array für die beiden Buttons
var elementArray = new Array()
var arrayIndex = menubuttonArray.length;
//ShowButton
var backLabel = GetBackLabel( buttonName + labelNames[0], leftPosition, topPosition, brdArray[0][0], brdArray[0][1], imgArray[0][0], imgArray[0][1] )
//var clickHandler = function() { ShowMenu(); }
var button = GetRollButton( buttonName + labelNames[1], posArray[0][0], posArray[0][1], brdArray[1][0], brdArray[1][1], clickHandlerShow, butArray[imageReferenz][0], butArray[imageReferenz][1] )
backLabel.appendChild( button );
elementArray[0] = backLabel;
//Hide Button
backLabel = GetBackLabel( buttonName + labelNames[2], leftPosition, topPosition, brdArray[0][0], brdArray[0][1], imgArray[0][0], imgArray[0][1] )
//clickHandler = function() { HideMenu(); }
button = GetRollButton( buttonName + labelNames[3], posArray[0][0], posArray[0][1], brdArray[1][0], brdArray[1][1], clickHandlerHide, butArray[imageReferenz][2], butArray[imageReferenz][3] )
backLabel.appendChild( button );
elementArray[1] = backLabel;
return elementArray;
}
Meine Frage ist nun, warum ich die Eigenschaft Name später nicht auslesen kann, ich erhalte stets die Meldung 'undefined'. Die beiden Buttons selbst kann ich verwenden, sie werden korrekt erzeugt. Also liegt hinsichtlich der Definition der Eigenschaft wohl ein Denkfehler vor!