otAAAh: is not defined (prototype)

Hallo zusammen,

ich halte bei folgendem Code die Fehlermeldung "this.style" is not defined sobald ich die prototype function "fwmhs_pos" durch die Schleife in "fwmhs_move" aufrufe.

function fwmhorizontalslider(id, w)  
{  
	this.sliderid = id;  
	obj_elements = document.getElementById(id).getElementsByTagName('li');  
	for(var i=0; i < obj_elements.length; i++)  
	{  
		obj_elements[i].style.left = (w * i)+'px';  
	}	  
	this.pos = 0;  
	this.ewidth = w;  
	this.ecount = obj_elements.length;  
}  
  
fwmhorizontalslider.prototype=  
{  
	  
	fwmhs_move:function(direction)  
	{  
		timer = 0;  
		if(direction == 'next' && this.pos < (this.ecount-1)){  
			for(var i = (this.pos * this.ewidth) + 1; i <= (this.pos + 1) * this.ewidth; i++)  
			{  
				setTimeout(''+ this.sliderid +'.fwmhs_pos('+ i +')', timer++);  
			}  
			this.pos++;  
		}  
		else if(direction == 'prev' && this.pos > 0)  
		{  
			for(var i = (this.pos * this.ewidth) - 1; i >= (this.pos - 1) * this.ewidth; i--)  
			{  
				setTimeout(''+ this.sliderid +'.fwmhs_pos('+ i +')', timer++);  
			}  
			this.pos--;  
		}		  
	},  
	  
	fwmhs_pos:function(pos)  
	{  
		this.style.left = '-'+pos+'px';  
	},  
}

Der Slider wird wie folgt initiiert:
<script type="text/javascript"> var myslider=new fwmhorizontalslider('myslider', 820) </script>

Die weiteren Funktionsaufrufe werden durch onclick angesteuert:

myslider.fwmhs_move('prev');
myslider.fwmhs_move('next');

Sobald man diese Funktionen ausführt wird der o.g. Fehler ausgegeben, und da ich bereits meine möglichkeiten ausgeschöpft habe, hoffe ich das einer von euch mir weiterhelfen kann.
Vorab vielen Dank

  1. Hi,

    ich halte bei folgendem Code die Fehlermeldung "this.style" is not defined sobald ich die prototype function "fwmhs_pos" durch die Schleife in "fwmhs_move" aufrufe.

    Dann ist this im vorliegenden Kontext wohl nicht das, was du animmst.

    Also kontrolliere das als erstes.

    MfG ChrisB

    --
    “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
  2. Hat sich Erledigt:

    habe vergessen in der letzten funktion vorher nochmals das Element über die ID zu laden.

    So funktioniert es jetzt:

    fwmhs_pos:function(pos)  
    	{  
    		obj_elements = document.getElementById(this.sliderid);  
    		obj_elements.style.left = '-'+pos+'px';  
    	},,