Hi,
ich bastel gerade ein Bewertungsscript.
Es werden einfach 6 Grafiken geladen und beim drüber fahren wird bei allen von links bis zu dem wo ich drüber bin das Hintergrundbild entsprechend verschoben.
Ich habe die Anzahl der Punkte in das Alt-Attribut meines IMG-Tags geschrieben.
shim.gif ist ein Spacer-Gif, da die eigentliche Bewertungsgrafik ja über den Hintergrund geladen wird. Die Elemente werden dynamisch erzeugt. Beim erzeugen hänge ich jedem Element ein Event auf mousevoer an.
Hier mal die Funktionen:
Nun zu meinem Problem - ich kann leider meine "info" welcher Bewertungspunkt denn nun gerade überfahren wird nicht im Alt-Attribut speichern, weil der IE das wiedas Title-Attribut behandelt und beim überfahren somit die "gespeicherte" Zahl anzeigt.
Eine Idee war das ganze mit Span zu machen und den Inhalt vom Span unsichtbar zu machen und da die Information zu speichern.
Mir schwebt aber was anderes vor und da ist die Frage ob das funktioniert.
Kann ich irgendwie das Element das ich gerade durchlaufe mit "this" vergleichen und schauen das aktuelle Element das ist, was das Event ausgelöst hat?
macht ja wenig Sinn, oder?
Besten Dank schonmal, so long, pm
ich bastel gerade ein Bewertungsscript.
Es werden einfach 6 Grafiken geladen und beim drüber fahren wird bei allen von links bis zu dem wo ich drüber bin das Hintergrundbild entsprechend verschoben.
Ich habe die Anzahl der Punkte in das Alt-Attribut meines IMG-Tags geschrieben.
PHP-Code:
<img alt="0" src="/_images/shim.gif" height="15" width="16">
<img alt="1" src="/_images/shim.gif" height="15" width="16">
<img alt="2" src="/_images/shim.gif" height="15" width="16">
<img alt="3" src="/_images/shim.gif" height="15" width="16">
<img alt="4" src="/_images/shim.gif" height="15" width="16">
<img alt="5" src="/_images/shim.gif" height="15" width="16">
Hier mal die Funktionen:
PHP-Code:
var rateRange = 6;
var rateImg = '/_images/img_rating_star.gif';
var rateImgWidth = 16;
var rateImgHeight = 15;
var spacerImg = '/_images/shim.gif';
function initRating(){
var rating = document.getElementById('rating');
for(var i = 0; i < rateRange; i++){
var img;
img = document.createElement('img');
img.src = spacerImg;
img.width = rateImgWidth;
img.height = rateImgHeight;
img.alt = i;
img.style.backgroundImage = 'url(' + rateImg + ')';
img.style.cursor = 'pointer';
img.onmouseover = rate;
rating.appendChild(img);
}
}
function rate(){
var val = this.alt;
var rating = document.getElementById('rating').getElementsByTagName('img');
resetRating();
for(var i = 0; i <= val; i++){
rating[i].style.backgroundPosition = rateImgWidth + 'px 0px';
}
window.status = val;
}
function resetRating(){
var rating = document.getElementById('rating').getElementsByTagName('img');
for(var i = 0; i < rating.length; i++){
rating[i].style.backgroundPosition = '0px 0px';
}
}
Nun zu meinem Problem - ich kann leider meine "info" welcher Bewertungspunkt denn nun gerade überfahren wird nicht im Alt-Attribut speichern, weil der IE das wiedas Title-Attribut behandelt und beim überfahren somit die "gespeicherte" Zahl anzeigt.
Eine Idee war das ganze mit Span zu machen und den Inhalt vom Span unsichtbar zu machen und da die Information zu speichern.
Mir schwebt aber was anderes vor und da ist die Frage ob das funktioniert.
Kann ich irgendwie das Element das ich gerade durchlaufe mit "this" vergleichen und schauen das aktuelle Element das ist, was das Event ausgelöst hat?
PHP-Code:
if(this == rating[i])
Besten Dank schonmal, so long, pm
Kommentar