2009-08-26 5 views
1

J'ai un div appelé #whatnewstoggler et sa largeur change dynamiquement. Cela cause des problèmes parce que je ne peux pas centrer ceci horizontalement. Le seul moyen est d'obtenir la largeur et d'ajouter dynamiquement css en ligne en utilisant jquery.Jquery Obtenir largeur ne fonctionne pas dans IE6 ou IE7

Le js fonctionne dans tous les navigateurs sauf IE6 et IE7. IE8 fonctionne bien.

J'ai réduit le problème à cette ligne var totalOffset = halfslideshow - offset;

Quand je alert(''+ totalOffset +''); il me donne « 0 » mais quand je alert(''+ offset +''); il me donne le bon avant avec le calcul final.

Voici le code.

var halfslideshow = 312; 
var width = $('#whatnewstoggler').width(); 
var offset = width/2;   
var totalOffset = halfslideshow - offset; 
//alert(''+ totalOffset +''); 
$('#whatnewstoggler').css('margin-left',totalOffset); 

Merci pour votre aide!

+0

Votre code fonctionne bien dans mon environnement de test avec IE6. Pouvons-nous avoir plus de détails s'il vous plaît? – Steerpike

Répondre

2

le suivant doit centrer css automatiquement un div:

display: block; 
margin: 0 auto; 
+0

Cela ne fonctionne pas dans IE6 – Steerpike

+2

Pourquoi soutenez-vous toujours IE6? Il est maintenant temps de commencer à abandonner IE6, comme le font beaucoup de sites raisonnablement grands (y compris YouTube) http://www.google.com/search?hl=fr&q=drops+support+for+ie6 –

+0

Cela fonctionne dans IE6. Il ne fonctionne pas dans IE5.5, et si vous avez besoin de supporter ce navigateur, il y a un moyen facile de le contourner: body {text-align: center;} #container {marge: 0 auto; text-align: left;} –

Questions connexes