IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Compatibilité entre navigateur


Sujet :

JavaScript

  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 216
    Par défaut Compatibilité entre navigateur
    Bonjour,
    j'ai créer un petit script me permettant d'enrouler/dérouler une liste <ul><li>, cela fonctionne très bien sous firefox, mais pas du tout sous IE (ni le 6,ni le 7, ni le 8...)

    voici mon html :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <div id="archives">
    <a href="#mai" title="#mai" class="mois" name="#mai">mai</a>
    <ul>
    <li>1er : <a href="spip.php?article94" title="Martyre">Martyre</a></li>
    </ul>
    <a href="#avril" title="#avril" class="mois" name="#avril">avril</a>
    <ul>
    <li>29 : <a href="spip.php?article93" title="SCORN">SCORN</a></li>
    </ul>
    </div>
    il y a plus de <li> dans la vrai page, mais la j'ai simplifié pour ne pas surchargé.

    et le javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    $(document).ready(function() {
     
     
           $("#archives ul").not(":first").children("li").hide();
            $("#archives ul:first").addClass("actif"); 
     
     
     
            $("#archives a.mois").click(function() { 
                if ($(this).next("ul").hasClass("actif")) {
                    $(this).next("ul").children("li").slideUp("slow");
                    $(this).next("ul").removeClass("actif");
                } else {
                    $("#archives a.mois").next("ul")
                        .removeClass("actif")
                        .children("li").slideUp("slow");
                    $(this).next("ul")
                        .addClass("actif")
                        .children("li").slideDown("slow");
                }
            });
     
    });

  2. #2
    Membre très actif Avatar de Sacha999
    Inscrit en
    Mars 2007
    Messages
    294
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Mars 2007
    Messages : 294
    Par défaut
    faudrait que tu mette "id" plutot que "name"

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 216
    Par défaut
    Ca change rien. Ca fonctionne encore très bien sur firefix, mais toujours rien avec IE . Je comprends pas du tout

  4. #4
    Membre très actif Avatar de Sacha999
    Inscrit en
    Mars 2007
    Messages
    294
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Mars 2007
    Messages : 294
    Par défaut
    chez moi ca fonctionne ca sur IE7 (merci de preciser que tu utilise JQuery, prend la derniere version au cas ou)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    <html>
    	<head>
    		 <script src="jquery-1.2.3.js" type="text/javascript"></script>
    		 <script language="javascript">
    			$(document).ready(function() {  
    		       $("#archives ul").not(":first").children("li").hide();
    			        $("#archives ul:first").addClass("actif"); 
     
    			        $("#archives a.mois").click(function() { 
    			            if ($(this).next("ul").hasClass("actif")) {
    			                $(this).next("ul").children("li").slideUp("slow");
    			                $(this).next("ul").removeClass("actif");
    			            } else {
    			                $("#archives a.mois").next("ul")
    			                    .removeClass("actif")
    			                    .children("li").slideUp("slow");
    			                $(this).next("ul")
    			                    .addClass("actif")
    			                    .children("li").slideDown("slow");
    			            }
    			       });
    			});
     
    	</script>
    </head>
    <body>
     
    		<div id="archives">
    			<a href="#mai" title="#mai" class="mois" name="#mai">mai</a>
    			<ul>
    				<li>1er : <a href="spip.php?article94" title="Martyre">Martyre</a></li>
    			</ul>
    			<a href="#avril" title="#avril" class="mois" name="#avril">avril</a>
    			<ul>
    				<li>29 : <a href="spip.php?article93" title="SCORN">SCORN</a></li>
    			</ul>
    		</div>
    </body>
    </html>

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 216
    Par défaut
    J'utilise la version 1.2.3 de Jquery, mais mon script est dans un document externe. Je vais faire le test pour voir si ca fonctionne en le mettant dans la page html

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 216
    Par défaut
    Effectivement, ca marche aussi chez moi quand je copie juste le code que je t'ai présenté. Ca fonctionne meme avec IE6, mais dès que je le mais dans mon site (SPIP), dans easyphp, ca ne fonctionne plus...

  7. #7
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 216
    Par défaut
    Problème résolu :

    Le problème venait du fait que spip chargé automatiquement une ancienne version de Jquery, après la plus récente dont j'avais fait l'appel surchaque page. J'ai donc supprimé l'appel à l'ancienne version et tout marche très bien

    Merci beaucoup !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Compatibilité entre navigateurs
    Par blaxh404 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 26/07/2012, 21h31
  2. Comparaison de chaines (compatibilité entre navigateurs)
    Par psychoP@T dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 11/05/2010, 11h00
  3. Problème de compatibilité entre CSS et navigateurs
    Par Neoforever dans le forum Mise en page CSS
    Réponses: 14
    Dernier message: 31/08/2007, 08h10
  4. (style.dysplay='none') pb de compatibilité entre différents navigateurs
    Par amnesias dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 17/12/2006, 16h33
  5. Compatibilité du code entre navigateurs
    Par solp dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 12/04/2006, 16h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo