Question

J'ai un accordéon très simple dans ma page web que j'INITIALISER avec:

        $(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>

Cela fonctionne parfaitement en chrome, firefox mais pas dans IE8. En IE8 Il montre ok mais quand je clique sur le rien img arrive.

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 des propriétés inattendues.

Mais rien dans Chrome.

Si je change le img pour h3 balises tout fonctionne comme prévu. Donc, puis-je changer l'ancre pour accordéon jQueryUI dans 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.

Était-ce utile?

La solution

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.

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

Je vais 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 poste une véritable solution Ill accepte-t-il des réponses.

Autres conseils

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 que IE8 ne traite pas l'étiquette d'image comme une étiquette normale telle qu'elle devrait être (pas une grosse surprise).

J'ai eu le même problème avec l'accordéon jQuery UI dans IE8. J'utilisais un img comme en-tête personnalisé (en définissant la classe à en-tête) et devenais une erreur dans

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

Je n'ai pas besoin de changer mon script, que mon html. J'ai eu le succès en enveloppant mon habitude tête img avec une balise div et la fabrication qui ont une classe d'en-tête. Ainsi, au lieu de <img class="header".../> je: <div class="header"><img ... />...</div>

Merci pour la iznogood pointe

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top