Domanda

Ho trovato uno strano bug in Internet Explorer 8. Forse qualcuno può aiutarmi a spostarmi.

Quando provo ad afferrare la posizione di sfondo di un elemento, usando background-position-x tutte le versioni di Internet Explorer funzionano come eccetto tranne IE8 che si arresta in modo anomalo .

Quando eseguo el.getStyle ('background-position') tutti i browser mi danno i valori corretti tranne che da IE (6, 7 e 8) che restituiscono undefined .

Uso quindi el.getStyle ('background-position-x') per tutte le versioni di IE.

IE8, tuttavia, si arresta in modo anomalo sul codice sopra.

Qualcuno ha avuto problemi simili?

È stato utile?

Soluzione

Grazie per l'aiuto a tutti. Questo è davvero un bug e funziona solo nel seguente scenario.

  1. css deve essere caricato su un foglio di stile esterno
  2. L'elemento
  3. non ha uno stile in linea

Il modo per risolverlo, anche se sporco, è aggiungere uno stile in linea all'elemento. Rende felice IE8 e tutti gli altri browser funzionano.

Non ho provato ma, secondo a questo ticket , anche FF2 soffre dello stesso comportamento.

Note a margine:
@marcgg - Avevo intenzione di sottovalutare la tua risposta in quanto non è davvero utile (e destinata a iniziare una guerra di fiamma) ma, a dir la verità, jQuery non manifesta questo problema. Anche se, come probabilmente già sapevi, NON è un'opzione! ;)

@Fabien - IE supporta background-position-x e manca il supporto per background-position la costruzione approvata dal W3C.

Altri suggerimenti

Perché non utilizzare la funzione css di jquery che funziona perfettamente con il browser?

Prova a usare:

el.getStyle('backgroundPositionX')

e

<*>

sì, thread più vecchio, ma ho pensato di pubblicare un'altra soluzione che ho incontrato nel faro di @ mootools ....

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

finora funziona bene per me.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top