Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

javascript imcompatible entre IE et Firefox


abooster

Messages recommandés

Bonjours à tous...

 

je me suis mis depuis peu à Firefox pour un tas de bonnes raisons mais c'était sans compter que ce cher Firefox est nettement plus strict que IE pour l'interprétation du javascript.... donc mes jolies pages sous IE sont toutes pourries sous firefox :P

 

qqun connaitrait-il un script de menu dynamique déroulant (style générique de film) qui fonctionne sous ces 2 navigateurs ainsi qu'un "faire de mon site votre page démarage inertnet"

 

je vous mets ICI uniquement la frame concernée.

 

merci d'avance pour vos précieux conseils

Lien vers le commentaire
Partager sur d’autres sites

ce cher Firefox est nettement plus strict que IE pour l'interprétation du javascript.... donc mes jolies pages sous IE sont toutes pourries sous firefox  :cry:

Dans ton exemple il ne s'agit pas d'un problème JavaScript, mais de l'utilisation de la balise <MARQUEE> qui est propre à Internet Explorer ...

 

Si tu veux faire défiler du texte, tu peux procéder de la sorte :

<!---- debut de l'extrait du fichier css ----->

#moncontenu { position: absolute; top: 0px; left: 0px; }
#scroller { display: block; overflow: hidden; }

<!---- fin de l'extrait du fichier css ----->


<div id="scroller">
   <div id="monContenu" onclick="javascript: { scroll(this); }">bla bla bla bla bla bla, ton contenu ici...</div>
</div>

 <script type="text/javascript"> <!--
   var isUp = false;
   var globId = null;

   function scroll(id) {
     globId = id;
     if (isUp) {
       globId.style.top = -94;
       for (i = 0; i < 94; i++) {
         setTimeout("globId.style.top = '' + (parseInt(globId.style.top) + 1) + 'px'", i * 5);
       }
       setTimeout('globId.style.top = "0px"', 500);
       isUp = false;
     } else {
       globId.style.top = 0;
       for (i = 0; i < 94; i++) {
         setTimeout("globId.style.top = '' + (parseInt(globId.style.top) - 1) + 'px'", i * 5);
       }
       setTimeout("globId.style.top = '-94px'", 500);
       isUp = true;
     }
   }
   // -->
 </script>

Il suffit, dans le window.onload (attribut onload= de la balise body), d'ajouter scroll(document.getElementById("scroller"));

Le truc étant que la div "scroller" ne fait apparaitre qu'une partie de la div "monContenu", donc il suffit de modifier les attributs de style "top" ou "left" de "monContenu" pour obtenir un effet de "défilement"...

Lien vers le commentaire
Partager sur d’autres sites

Tiens, j'ai vachement bien bossé aujourd'hui : voilà ce que ça peut donner

valid-xhtml11.gif, vcss.gif et scripts compatibles DOM.

 

Evidemment, j'ai récupéré ma fonction scroll() qui fait des allers-retours, mais il est tout à fait possible de la modifier pour obtenir un défilement différent (direction, vitesse, cycle...)

Lien vers le commentaire
Partager sur d’autres sites

Au lieu de mettre l'exécution du script sur le onclick="" d'un bloc de texte, il suffit de le mettre dans le onload="" de la balise <body>

C'est bête comme chou.

 

A propos, j'ai modifié la page aujourd'hui pour ajouter de quoi arrêter le défilement (sait-on jamais...) et pour pouvoir visualiser la façon dont sont utilisées les <div> (on peut faire apparaitre intégralement celle qui scrolle)...

 

Bref. Un gadget de plus...

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...