Hi!
Ich möchte auf meiner HP so eine Bewertungsfunktion erstellen. Dazu habe ich 5 Halbtransparente Sternchen, die bei mouseover vollständig sichtbar werden und auf Klick ihre Sichtbarkeit speichern, genauso wie die Bewertung bei eBay.
Nun wollte ich einfach mal probieren jedem Sternchen sein mouseover zu geben. Um nicht jedes Sternchen Bild zu benennen benutze ich DOM um sie anzusteuern. lediglich das sie umgebende DIV ist mit einer id benannt.
function bewertung(id)
{
var parent = document.getElementById(id);
var currentChild = parent.firstChild;
currentChild = currentChild.nextSibling; // Leerzeile überspringen
currentChild = currentChild.nextSibling; // Blind.gif überspringen
var stars = new Object;
var starsFader = new Object;
for(var i=0; i<5; i++)
{
stars[i] = currentChild;
starsFader[i] = new fadingObject(stars[i]);
starsFader[i].fadeTo(30);
stars[i].onmouseover = function()
{
alert(i);
}
currentChild = currentChild.nextSibling;
}
}
var idee = new bewertung('bewertung_idee');
Das Problem ist, dass ich bei jedem Mouseover, egal bei welchem Stern die Meldung "5" erhalte. Demnach enhält die alert(i); funktion nur eine Referenz auf die interne Variable i des Objekts idee. Wie kann ich den direkten Wert vergeben lassen und keine Referenz darauf?
lg PoWl