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 :

effet zoom incompatible firefox 3.6.13


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 10
    Points : 6
    Points
    6
    Par défaut effet zoom incompatible firefox 3.6.13
    Bonjour,
    je dispose d'un script permettant un zoom sur un texte qu'on peut voir ici http://www.activetech.fr
    Depuis la dernière mise à jour de Firefox vers Firefox 3.6.13, ce script ne fonctionne plus.
    Je n'y connais rien en Javascript, comment modifier ce script pour qu'il fonctionne de nouveau ?
    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
    <script type="text/javascript">
                     i=0;
                     taille=0;
                     hauteur = (navigator.appName != "Microsoft Internet Explorer")? window.innerHeight : document.body.offsetHeight;
                     marge = hauteur/3;
                     document.getElementsByTagName('div')[0].style.marginTop = marge;
                     textanim = new Array("LE PLUS COURT CHEMIN<br/>ENTRE VOUS<br/>ET VOTRE MARCHE !");
                     function animation() {
                     document.getElementsByTagName('div')[0].style.fontSize = ""+taille+"px";
                     document.getElementsByTagName('div')[0].style.color = "#ec7523";
                     document.getElementsByTagName('div')[0].style.fontFamily = "arial";
                     document.getElementById('bienvenue').innerHTML = textanim[i];
                     if (taille < 40) {
                     taille++;
                     }
                     else {
                     i++;
                     taille=0;
                     }
                     if (i < textanim.length) {
                     setTimeout('animation()',20)
                     }
                     }
                     setTimeout('animation()',20);
                     //</script><noscript>LE PLUS COURT CHEMIN<br/>ENTRE VOUS<br/>ET VOTRE MARCHE !</noscript>

  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
    je ne comprends pas le 2e appel à setTimeout;

    de +, fox te signale des propriétés css inconnues;

    soit dit en passant, pourquoi les 2 syntaxes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementsByTagName('div')[0]
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('bienvenue')
    pour désigner le même élément?

  3. #3
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 122
    Points : 44 914
    Points
    44 914
    Par défaut
    Citation Envoyé par javatwister
    je ne comprends pas le 2e appel à setTimeout;
    le 1st setTimeout semble servir au lancement de la fonction,un appel simple est suffisant.
    toutes cette partie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    document.getElementsByTagName('div')[0].style.fontSize = "" + taille + "px";
    document.getElementsByTagName('div')[0].style.color = "#ec7523";
    document.getElementsByTagName('div')[0].style.fontFamily = "arial";
    document.getElementById('bienvenue').innerHTML = textanim[i];
    pourrait avantageusement être remplacée par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    var oDiv = document.getElementById('bienvenue');
    oDiv.style.fontSize = "" + taille + "px";
    // ce qui suit n'est pas indispensable puisque constant 
    // a mettre dans la feuille de style donc
    oDiv.style.color = "#ec7523";
    oDiv.style.fontFamily = "arial";
    // pourquoi passer par un tableau puisqu'il n'a qu'un indice
    oDiv.innerHTML = textanim[i];
    enfin pour répondre à
    Citation Envoyé par midnightweb
    Depuis la dernière mise à jour de Firefox vers Firefox 3.6.13, ce script ne fonctionne plus.
    c'est surprenant effectivement, une nouvelle gestion de setTimeout????
    Citation Envoyé par midnightweb
    comment modifier ce script pour qu'il fonctionne de nouveau ?
    outre ce qui a déjà été dit, déplace l'écriture dans le test sur i, visiblement il y a lecture dans un indice de tableau non initialisé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (i < textanim.length) {
      document.getElementById('bienvenue').innerHTML = textanim[i];
      setTimeout('animation()', 20)
    }
    cela reste grandement simplifiable et améliorable d'un strict point de vue de codage.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Bonjour et merci pour toutes ces réponses.

    A vrai dire, n'y connaissant rien en Javascript, je vais tenter d'appliquer vos conseils, mais je n'y comprends rien

Discussions similaires

  1. Effet zoom sur un lien (image) javascript
    Par ghost73 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 28/01/2016, 04h26
  2. menu javascript incompatible firefox
    Par anthonydb1 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 03/11/2008, 18h15
  3. Effet zoom + ou - sur une vue aerienne
    Par cybernetique dans le forum Flash
    Réponses: 3
    Dernier message: 18/02/2007, 17h15
  4. CSS incompatible FireFox
    Par pompierdu84 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 09/09/2006, 17h50
  5. besoin aide bouton avec effet zoom fonctionne pas.
    Par zicomoun dans le forum Flash
    Réponses: 3
    Dernier message: 13/06/2006, 08h15

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