Frage

Ich habe im Internet Explorer einen seltsamen Fehler gefunden. Vielleicht kann mir jemand helfen, mich darum zu bewegen.

Wenn ich versuche, die Hintergrundposition eines Elements zu greifen background-position-x Alle Versionen von Internet Explorer funktionieren ausgenommen, mit Ausnahme IE8, das stürzt ab.

Wenn ich renne el.getStyle('background-position') Alle Browser geben mir die richtigen Werte, außer aus IE (6, 7 und 8), die zurückkehren undefined.

Ich benutze deshalb el.getStyle('background-position-x') Für alle IE -Versionen.

IE8 stürzt jedoch mit dem obigen Code ab.

Hatte jemand ähnliche Probleme?

War es hilfreich?

Lösung

Vielen Dank für die Hilfe alle. Dies ist wirklich ein Fehler und funktioniert nur im folgenden Szenario.

  1. CSS muss auf ein externes Stylesheet geladen werden
  2. Element hat kein Inline -Styling

Der Weg, es zu reparieren, sogar hart schmutzig, ist zu Fügen Sie Inline -Styling hinzu zum Element. Macht IE8 glücklich und alle anderen Browser funktionieren.

Ich habe nicht getestet, aber nach Laut zu diesem Ticket, FF2 leidet auch unter dem gleichen Verhalten.

Nebennotizen:
@Marcgg - Ich wollte Ihre Antwort herabsetzen, da sie wirklich nicht hilfreich ist (und einen Flammenkrieg beginnen), aber, in aller Wahrheit, manifestiert JQuery dieses Problem nicht. Obwohl es, wie Sie wahrscheinlich bereits gewusst haben, keine Option ist! ;))

@Fabien - dh unterstützt Unterstützung background-position-x und fehlt Unterstützung für background-position Der W3C genehmigte Bau.

Andere Tipps

Warum nicht benutzen Die CSS -Funktion von JQuery Das funktioniert fein Cross -Browser?

Versuchen Sie es mit:

el.getStyle('backgroundPositionX')

und

el.getStyle('backgroundPositionX')

Ja, älterer Faden, aber ich dachte, ich würde eine andere Lösung veröffentlichen, die ich auf @ Mootools Lighthouse gestoßen habe ....

if (Browser.Engine.trident){
    var xy = el.getStyle('background-position-x')+" "+el.getStyle('background-position-y');
} else {
    var xy = el.getStyle("backgroundPosition");
}

Funktioniert bisher gut für mich.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top