2010-08-30 8 views
1

J'ai un accordéon très simple dans ma page web que j'INITIALISER avec:accordéon jQueryUI avec un point d'ancrage personnalisé dans IE8

 $(document).ready(function() { 
       $('#accordion').accordion({ 
        'autoheight':true, 
        'header': 'img' 
       }); 
     }); 

Et plus tard, je:

     <div id="accordion"> 
         <img src="/public/images/btn_avant.gif" alt="" /> 
         <div> 
          <ul> 
           <li><a href="/">link</a></li> 
           <li><a href="/">link</a></li> 
          </ul> 
         </div> 
         <img src="/public/images/btn_pendant.gif" alt="" /> 
         <div> 
          du contenu 
         </div> 
         <img src="/public/images/btn_apres.gif" alt="" /> 
         <div> 
          du contenu 
         </div> 
        </div> 

qui fonctionne parfaitement en chrome, firefox mais pas dans IE8. En IE8 Ça se voit bien mais quand je clique sur le IMG, rien ne se passe.

IE8 ne me montre une erreur dans jquery: sur la ligne 4083 de jquery.js Je reçois une erreur.

Demande d'accès à la méthode ou aux propriétés inattendues.

Mais rien dans Chrome.

Si je change le img pour les balises h3 tout fonctionne comme prévu. Puis-je changer l'ancre pour l'accordéon jqueryui en ie8?

Je viens de tête essayé de placer à une classe et de donner cette classe à chaque img mais il continue à travailler partout mais IE.

Répondre

2

Eh bien, je l'ai eu à travailler en enveloppant mon img dans un div avec une classe et je mets en-tête de cette classe et il fonctionne dans IE8.

Performance est merdique au point que nous envisageons l'abandon dans notre projet accordéons.

I`ll laisser la question ouverte puisque je ne l'ai pas répondu à ma question plus de fonder une solution de travail. Donc, si quelqu'un publie une vraie solution, j'accepte les réponses.

1

Vous pouvez essayer de définir l'attribut de style sur vos balises d'image à afficher: bloc. Exemple: <img src="myimage.png" style="display:block;" />. Si cela ne fonctionne pas, mon hypothèse est qu'IE8 ne traite pas la balise d'image comme une balise normale comme il se doit (pas une grosse surprise).

+0

Oui, ce travail na pas :(Je suppose que je pourrais obtenir de travailler avec un img intérieur d'un h3 mais vraiment il devrait être si simple – Iznogood

1

J'ai rencontré le même problème avec l'accordéon de l'interface utilisateur jQuery dans IE8. J'utilisais un img comme en-tête personnalisé (en définissant la classe à en-tête) et devenais une erreur dans < Internet Explorer 8. Mon code ressemble à ceci:

$(function() { 
     $("#accordion").accordion({ 
      collapsible: true, 
      active:false, 
      autoHeight: false, 
      header:'.header' 
     }); 
    }); 
    </script> 

Je n'ai pas besoin de changer mon script , seulement mon code HTML. J'ai eu du succès en enveloppant mon en-tête img personnalisé avec une balise div et en faisant cela avoir une classe d'en-tête. Ainsi, au lieu de <img class="header".../> je: <div class="header"><img ... />...</div>

Merci pour le conseil iznogood

+0

Remercier. vous beaucoup! – Iznogood