Forum-webmaster
Technique - programmation => Javascript / DOM / Ajax => Message commencé par: Poms le le 13-05-2005 a 22:45:41

Titre: Défilement texte verticale compatible firefox
Posté par: Poms le le 13-05-2005 a 22:45:41

[size=2]Bonjour à tous,
j'ai un problème de compatibilité avec firefox pour le défilment verticale de mon texte. ???

le mieux c'est que vous voyez vous même : ::) http://kiairsoft.free.fr (http://kiairsoft.free.fr)
Que faut il changer pour que ça marche ou avez vous un script du même style qui soit compatible.

Si vous voulez le script complet, demandez le moi par message privé, ca encombrerait trop le post. ;)

J'ai un autre script qui marche bien mais je n'arrive pas à l'insérer correctement. Si vous avez des conseils pour ça :
http://perso.wanadoo.fr/cmonnomdesite/indextest.htm (http://perso.wanadoo.fr/cmonnomdesite/indextest.htm)
c'est en bas qu'il faur regarder.

J'ai encore une demande de compatibilité, :'( c'est pour le défilement de la barre de statut.

Le top, ça serait de me dire s'il existe un site web avec seulement des scripts compatibles firefox.

Merci de m'avoir lu

[/size]

Titre: Re:Défilement texte verticale compatible firefox
Posté par: jb_gfx le le 15-05-2005 a 00:36:33

Je vois pas le problème.. extrait de ta page d'accueil :
Citation:
Site optimisé pour internet explorer en 1024*768


Pourquoi voudrais tu que ça fonctionne sur FireFox? C'est pas logique! ;)


Bon allez, à l'arrache :

1. Supprime ta classe CSS ..ticker (déjà une classe commence par un seul point, pas deux) et remplace la par :


Code:

#bgtick {
   position: absolute;
   left: -48px; /* change la position horizontale de ton scroll text ici */
   font-family:Verdana;
   color:DDDDDD;
   font-size:15px;
   letter-spacing:1;
   width:21%
}


Ensuite tu supprime ton script dans le head, et sur ta balise body tu supprime l'argument onload :


Code:

onload="initObjects();"


Puis dans ton head tu ajoute cette version du script :


Code:

<script type="text/javascript">
<!--
   var y=630;
   var bgticker;
   
   function initObjects() {
      bgticker = document.getElementById('bgtick');
      bgticker.style.top = 10 + 'px';
      scroll();
   }
   
   function scroll() {
      if (y > -800) {
         y--;
         bgticker.style.top = y + 'px';
      } else {
         y=630;
      }
      var timer = setTimeout('scroll()',20);
   }
   
   window.onload = function run() {
      initObjects();
   }
//-->
</script>


ça fonctionne sous IE, FireFox, Opera...

Titre: Re:Défilement texte verticale compatible firefox
Posté par: Poms le le 15-05-2005 a 21:03:26

Merci à toi jb_gfx,
ton explication était nickel et parfaitement adapté à ma newbie's attitude. ;D En plus, ton édition est dix fois plus simple.

Ca marche donc très bien avec firefox, c'est ce que je voulais. Je voulais savoir s'il était possible de rajouter un chti truc pour que quand je passe ma souris dessus, ça s'arrêtte de monter. Mais bon c'est vraiment juste un petit bonus si cela serait facile à mettre en place.

Merki ++ 8)


EDIT : Je viens d'essayer de le mettre sur une autre page, mais ça ne marchait pas car j'avais un autre onload dans mon body :
onLoad="MM_preloadImages('../photos/mod/membres/Hind.JPG')"

(celui fait automatiquement par dreamweaver quand au survol d'une image ça en affiche une autre en la préchargeant).
Alors j'ai viré l'onload et ç'est bon.

Penses tu que je peux vraiment l'enlever ? en tout cas, le survol de l'image marche encore après avoir viré l'onload..

Titre: Re:Défilement texte verticale compatible firefox
Posté par: jb_gfx le le 15-05-2005 a 23:47:57

En fait quand tu ajoute un effet rollover avec DreamWeaver il ajoute automatiquement un preloader pour les images concernés.

Si tu le vire, l'effet rollover risque de mettre un peu plus de temps avant de fonctionner (le temps que l'image se charge).

Bref tu peux l'enlever, c'est pas bien grave, mais sinon tu peux faire tes préchargement d'images en CSS, ça permet de ne pas ajouter de javascript inutile et c'est surtout beaucoup plus efficace.

2 tutos sur cette excellente technique sont disponibles sur le site d'Alsacreations :

http://css.alsacreations.com/Tutoriels-et-articles-divers/roll-over-css-image-unique
http://css.alsacreations.com/Construction-de-menus-en-CSS/Faire-un-menu-dynamique-sans-prechargement

Sinon pour arreter le déffilement de ton calque quand on passe la souris dessus :

JavaScript :

Code:

<script type="text/javascript">
<!--
   var y=630;
   var bgticker;
   var enPause = false;
   
   function initObjects() {
      bgticker = document.getElementById('bgtick');
      bgticker.style.top = 10 + 'px';
      scroll();
   }
   
   function scroll() {
      bgticker.onmouseover = function() {
         enPause = true;
      }
      bgticker.onmouseout = function() {
         enPause = false;
      }
      if (y > -800) {
         if (!enPause) {
            y--;
         }
         bgticker.style.top = y + 'px';
      } else {
         y=630;
      }
      var timer = setTimeout('scroll()',20);
   }
   
   window.onload = function run() {
      initObjects();
   }
// -->
</script>

Titre: Re:Défilement texte verticale compatible firefox
Posté par: jb_gfx le le 16-05-2005 a 00:00:38

Remarque que si tu tiens absolument à utiliser le preloader de DreamWeaver ton script de défillement devrait aussi fonctionner si tu le lance par un evenement onload sur le body.

Dans ce cas tu n'as qu'a supprimer la partie :

Code:

window.onload = function run() {
initObjects();
}


Et rajouter dans ta balise body :


Code:

<body onload="initObjects();">


bon c'est moins propre comme technique mais ça devrait fonctionner tout en restant compatible avec les horribles scripts produits par DreamWeaver. ;)

Titre: Re:Défilement texte verticale compatible firefox
Posté par: Poms le le 16-05-2005 a 14:00:43

ok merci, mais je crois que je vais virer le le script automatique de dreamweaver car j'ai regardé ton truc sur le CSS et ça me semble le top (en tout cas l'idée est géniale).

Je crois que la suite de ma demande n'était pas posté au bon endroit, je vais donc posé ma question là ou il faut.

Merci


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.