Hallo,
ich habe versucht mir mit jQuery eine kleine Gallery/Slideshow zu programmieren -> unter Firefox und Chrome funktioniert sie einwandfrei.
Im IE überhaupt nicht.
Der Fehler muss eigetnlich in diesem Codeteil liegen
Code:
function animateImg(dir){//bildanimation/übergang
var elem = $('div#gallery img.active');
if(dir){//wenn direction pfeile betätigt wurden->unwichtig
switch(dir){
case 'right':
elem.removeClass('active').addClass('hiddenimg').fadeOut('slow');
elem.next().removeClass('hiddenimg').addClass('active').fadeIn('slow');
break;
case 'left':
elem.removeClass('active').addClass('hiddenimg').fadeOut('slow');
elem.prev().removeClass('hiddenimg').addClass('active').fadeIn('slow');
break;
}
return;
}
if ( elem.next().length === 0) {//wenn das letzte Bild erreicht wurde
elem.removeClass('active').addClass('hiddenimg').fadeOut('slow');
$('div#gallery img:first').removeClass('hiddenimg').addClass('active').fadeIn('slow');
}else{
elem.removeClass('active').addClass('hiddenimg').fadeOut('slow');
elem.next().removeClass('hiddenimg').addClass('active').fadeIn('slow');
}
}
Erklärung: Das momentan aktive Bild soll verschwinden und das nächste Bild soll angezeigt werden.
Fehler im IE:
Das momentan aktive Bild verschwindet ... und im nächsten Durchlauf erscheint es wieder. -> Ich denke, dass es ein Problem mit "next()" gibt, habe aber in google nichts passendes gefunden.
MfG, danke für die Hilfe Lukas
edit: habe den fehler gerade gefunden "elem.next().length === 0" trifft immer zu, obwohl noch andere img elemente existieren?
Gelöst: hatte nen html fehler, und der ie hat das bemerkt und mozilla nicht.