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 :

[DOM] Compatibilité Javascript et Firefox [Fait]


Sujet :

JavaScript

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3
    Points : 1
    Points
    1
    Par défaut [DOM] Compatibilité Javascript et Firefox
    Bonjour,

    J'ai un petit problème avec un code Javascript trouvé sur le net. Ce script a pour but de faire défiler des images de la droite vers la gauche, et de s'arrêter (se mettre en pause) lorsque la souris survole la zone de défilement.

    Je compte utiliser ce script pour faire défiler des logos partenaires en bas de page d'un site, mais mon soucis est qu'il semble ne pas fonctionner sous Firefox. Est-ce quelqu'un a une idée de pourquoi?

    Voici le code :

    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
    <title>Mon défilement d'images</title> 
    </head> 
     
    <body> 
     
    <script language="JavaScript1.2"> 
    <!-- Begin 
    //largeur du curseur (en pixels) 
    var sliderwidth=330 
    //hauteur du curseur (Netscape) 
    var sliderheight=145 
    //vitesse de défilement 
    var slidespeed=4 
     
    //les images 
    var leftrightslide=new Array() 
    var finalslide='' 
    leftrightslide[0]='<a href="http://www.monsite.com"><img src="1.gif" border=1></a>' 
    leftrightslide[1]='<a href="http://www.monsite.com"><img src="2.gif" border=1></a>' 
    leftrightslide[2]='<a href="http://www.monsite.com"><img src="3.gif" border=1></a>' 
    leftrightslide[3]='<a href="http://www.monsite.com"><img src="4.gif" border=1></a>' 
    leftrightslide[4]='<a href="http://www.monsite.com"><img src="5.gif" border=1></a>' 
     
    var copyspeed=slidespeed 
    for (i=0;i<leftrightslide.length;i++) 
    finalslide=finalslide+leftrightslide[i]+"  " 
     
    if (document.all){ 
    document.write('<marquee id="ieslider" scrollAmount=0 style="width:'+sliderwidth+'">'+finalslide+'</marquee>') 
    ieslider.onmouseover=new Function("ieslider.scrollAmount=0") 
    ieslider.onmouseout=new Function("if (document.readyState=='complete') ieslider.scrollAmount=slidespeed") 
    } 
     
    function regenerate(){ 
    window.location.reload() 
    } 
    function regenerate2(){ 
    if (document.layers){ 
    document.ns_slider01.visibility="show" 
    setTimeout("window.onresize=regenerate",450) 
    intializeleftrightslide() 
    } 
    if (document.all) 
    ieslider.scrollAmount=slidespeed 
    } 
     
    function intializeleftrightslide(){ 
    document.ns_slider01.document.ns_slider02.document.write('<nobr>'+finalslide+'</nobr>') 
    document. ns_slider01.document.ns_slider02.document.close() 
    thelength=document.ns_slider01.document.ns_slider02.document.width 
    scrollslide() 
    } 
     
    function scrollslide(){ 
    if (document.ns_slider01.document.ns_slider02.left>=thelength*(-1)){ 
    document.ns_slider01.document.ns_slider02.left-=slidespeed 
    setTimeout("scrollslide()",100) 
    } 
    else{ 
    document.ns_slider01.document.ns_slider02.left=sliderwidth 
    scrollslide() 
    } 
    } 
    window.onload=regenerate2 
     
    // End --> 
    </script> 
    <ilayer width=&{sliderwidth}; height=&{sliderheight}; name="ns_slider01" visibility=hide> 
    <layer name="ns_slider02" onMouseover="slidespeed=0;" onMouseout="slidespeed=copyspeed"></layer> 
    </ilayer> 
    </body> 
    </html>

  2. #2
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    et t'as testé les sources, histoire d'avoir un script multiplateforme?

    http://javascript.developpez.com/sou...ges#defilimage

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Oui, mais mon script ne fait pas vraiment la même chose.

  4. #4
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Y a-t-il une raison pour que tu utilises des éléments layer et ilayer qui sont un ajout de Netscape mais non reconnu par le W3C ?
    Je ne dis pas ça pour le sacro-saint principe du respect des standards (ou pas uniquement ^^), mais parce que tu sembles avoir des problèmes de portabilité...

  5. #5
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    c'est sûr que ce code date des années 40, au mieux

  6. #6
    Rédacteur
    Avatar de Macmillenium
    Homme Profil pro
    Développeur front-end
    Inscrit en
    Mars 2008
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur front-end
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 2 333
    Points : 3 748
    Points
    3 748
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.ns_slider01.visibility="show"
    Vaut mieux passer par DOM.

  7. #7
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    +1 pour tous les inconvénients : layers + basé sur des document.write() + syntaxes obsolètes .....

    Trouve un autre script, ce n'est pas ça qui manque (celui de Javatwister par ex.)

    A+

  8. #8
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Ouais, mais j'avoue que le fait qu'il marche sous IE et qu'il fait exactement ce que je cherchais me pousse à vouloir le corriger pour le faire fonctionner sous tous les navigateurs plutot que de repasser des heures à en trouver un autre sur le net faisant la même chose.

    Pour ce que dit MacMillenium, je comprends que la méthode du document.write() ne soit pas bonne, mais que faire à la place? Je ne connais pas DOM.

    Après pour les ilayer, c'était dans le script, et j'avoue que c'est pas super respectueux des standards du W3C (même pas du tout). Mais je les remplace par quoi? des div?

Discussions similaires

  1. compatibilité Javascript sous Firefox
    Par P3dr0 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/01/2011, 23h17
  2. compatibilité javascript IE7/Firefox
    Par SGA dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 18/09/2009, 12h54
  3. compatibilité Javascript IE | Firefox
    Par 20cents dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 13/06/2009, 12h55
  4. [DOM] Javascript et firefox
    Par Empty_body dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 28/07/2007, 09h25
  5. [DOM] compatibilité IE, FireFox
    Par metalpetsFR dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 18/04/2006, 12h16

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