Prototype Javascript-Fehler (nur im IE) 'Objekt unterstützt diese Eigenschaft oder Methode nicht'
Einer unserer devs zusammen durch ein banner rotater, und während es gut funktioniert im IE NICHT, IE wirft eine Fehlermeldung in Zeile 30 (unten markiert mit "***** FEHLER AUF der NÄCHSTEN ZEILE"). Kann ich nicht Sortieren, $$('.banner')?
Den Fehler:
'Objekt unterstützt diese Eigenschaft oder Methode'
Mit Prototype 1.6.0.3
function changeBanners() {
//banners are now sorted by their z index so that
//the ones most in front should be most on top in the DOM
//***** ERROR ON NEXT LINE
banners = $$('.banner').sort(function (a,b){
_a = parseInt(a.style.zIndex);
_b = parseInt(b.style.zIndex);
return _a < _b ? 1 : _a > _b ? -1 : 0;
});
//increment z index on all of the banners
Element.extend(banners);
banners.each( function (banner){
Element.extend(banner);
banner.style.zIndex = parseInt(banner.style.zIndex) + 1;
});
//move the first banner to be the last
first_banner = banners.shift();
banners.push(first_banner);
//set it invisible
Effect.toggle( first_banner.id , 'appear' , {
duration: 2.0,
afterFinish: function(){
first_banner.style.zIndex = 0; //update its z index so that it is at the end in the DOM also
first_banner.show(); //make it reappear so that when the one in front of it disappears, it will show through
}
});
};
Versuchen Sie, übergeben Sie eine leere Funktion die
Eine leere Funktion, warf "Zahl Erwartet". Werfen a > b wie die sort-Funktion zurückgegeben, die den "Objekt unterstützt diese Eigenschaft oder Methode nicht" Fehler.
Ändern
Crescent - gleiche Fehlermeldung - IE-schrecklich-debugger ist jammern auf code unten bei "finally {" onTimerEvent: function() { if (!diese.currentlyExecuting) { try { dies.currentlyExecuting = true;.execute(); } finally { dieser.currentlyExecuting = false; } } } });
siehe webbugtrack.blogspot.com/2007/11/...
sort
Methode und auf Fehler prüfen.Eine leere Funktion, warf "Zahl Erwartet". Werfen a > b wie die sort-Funktion zurückgegeben, die den "Objekt unterstützt diese Eigenschaft oder Methode nicht" Fehler.
Ändern
forEach
zu each
.Crescent - gleiche Fehlermeldung - IE-schrecklich-debugger ist jammern auf code unten bei "finally {" onTimerEvent: function() { if (!diese.currentlyExecuting) { try { dies.currentlyExecuting = true;.execute(); } finally { dieser.currentlyExecuting = false; } } } });
siehe webbugtrack.blogspot.com/2007/11/...
InformationsquelleAutor Jarrett | 2010-07-31
Du musst angemeldet sein, um einen Kommentar abzugeben.
*Seufz*
Nachdem alle, es ist mein Mangel erinnern zu deklarieren, die Variablen in JS
Geändert:
:
Funktioniert einwandfrei.
InformationsquelleAutor Jarrett