2010-09-24 4 views
1

Nous avons des boutons HTML que nous formons en utilisant JQuery - $('#button').button().jQuery affichage du bouton dans IE6

Fonctionne bien mais ... lorsque la page est chargée pour la première fois dans IE6, vous voyez le bouton HTML "non formaté" et vous voyez ensuite le coup de mise en forme de JQuery en une fraction de seconde environ.

Que pouvez-vous faire pour éviter d'afficher le bouton HTML par défaut et simplement afficher la version formatée de JQuery?

+0

Pourquoi êtes-vous encore en développement pour IE6, bizarre comment le reste du monde a évolué à partir de IE6 autre que, étonnamment, les développeurs eux-mêmes ... –

+0

@Andrew Dunn: cela pourrait être dû à des raisons professionnelles, comme Microsoft a choisi pour étendre la vie de IE6 jusqu'en 2014 ... c'est même après 2012 :) –

+0

Peut-être essayer de regarder [ce lien] (http://browsesad.com/). – Reigel

Répondre

2

le mettre dans un div qui est par défaut caché CSS: #hiddenDiv {display: none;} puis après avoir effectué toutes le style sur le bouton en utilisant jQuery démasquer la div $('#hiddenDiv').show()

Edit: Pour permettre le bouton à afficher lorsque javascript est désactivé:

<noscript> 
    <style> 
     #hiddenDiv 
      { 
      display: block!important; 
      } 
    </style> 
</noscript> 

Important: Cela annule votre code HTML, comme style balises ne sont pas autorisés dans noscript éléments, et Les balises noscript XHTML ne sont pas autorisées dans l'élément head.

+0

ce n'est pas conseillé. Car si javascript est désactivé, les utilisateurs ne verront pas le bouton. – Reigel

+0

Correction ... Mais je me sens sale. –

1

Essayez-le. Dans votre code CSS, écrivez

#button{ 
visibility: hidden 
} 

Mettez ce code à l'intérieur

<!--[if IE 6]> 
<![endif]--> 

Et dans votre $ (document) fonction .ready, ajouter ce qui suit.

("#button").css("visibility","visible"); 

Dévissez-les s'ils utilisent IE6 et désactivez Javascript. : P

+0

ce n'est pas conseillé. Car si javascript est désactivé, les utilisateurs ne verront pas le bouton. – Reigel

+0

solution simple, facile à mettre en œuvre. Oui, ça gâche tout le monde dans IE6 avec JS éteint, mais franchement c'est juste dur. Pour être honnête, si le problème d'origine affecte juste IE6 et se corrige après le chargement de la page, je le laisserais tel quel. Ça marche. D'accord, donc ça n'a pas l'air joli, mais vous utilisez IE6; Qu'attendez-vous?? – Spudley