begin process at 2012 02 05 23:16:52
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Navigation

 > MARQUEE EN JAVASCRIPT

MARQUEE EN JAVASCRIPT


 Information sur la source

Note :
8,8 / 10 - par 5 personnes
8,80 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Navigation Classé sous :marquee, defilement, défilant Niveau :Initié Date de création :14/04/2009 Date de mise à jour :16/04/2009 18:02:47 Vu / téléchargé :9 860 / 966

Auteur : Kimjoa

Ecrire un message privé
Commentaire sur cette source (23)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
système de défilement automatique, un peu comme marquee, compatible  avec prototype.js .
La balise marquee ne respect pas les standards et chrome ne la prend pas en charge...

liste des arguments possibles :
            -  id ou élément conteneur
            -  id ou élément contenue
            -  vitesse initiale
            -  direction du déplacement
            -  vitesse du scrolling , lors d'un mouse mouve au dessus de l'élément

testé sous ie8 , ff3 et chrome.

Source

  • <!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" xml:lang="fr" lang="fr">
  • <head>
  • <meta http-equiv="content-type" content="text/html;charset=iso-8859-1" />
  • <title>simpleMarquee</title>
  • <style>
  • h1{
  • font-size:15px;color:green;margin:auto;border-bottom:1px solid green;width : 450px;
  • }
  • .marqueeBoxH, .marqueeBoxV{
  • margin:auto;border:1px solid black;overflow:scroll;
  • }
  • .marqueeBoxH{
  • width:450px;height:25px;white-space : nowrap;
  • }
  • .marqueeBoxV{
  • width:150px;height:150px;
  • }
  • </style>
  • <script type="text/javascript" src="prototypeTo.js"></script>
  • <script type="text/javascript" src="marquee.js"></script>
  • <script type="text/javascript">
  • //définit une fonction a appliquer a la fin du chargement
  • Event.observe(window, 'load', init);
  • function init(){
  • /*
  • liste des arguments possibles :
  • - id ou element conteneur
  • - id ou element contenue
  • - vitesse initiale
  • - direction du déplacement
  • - vitesse du scrolling , lors d'un mouse mouve au dessus de l 'élement
  • */
  • new Marquee('marqueeBox1','contentBox1',0.5,'top',3);
  • new Marquee('marqueeBox2','contentBox2',1,'bottom',5);
  • new Marquee('marqueeBox3','contentBox3',2,'left',10);
  • new Marquee('marqueeBox4','contentBox4',1.5,'right',3);
  • }
  • </script>
  • </head>
  • <body >
  • <h1>vitesse->0.5 , direction->top , vitesse Maxi du défilement->3</h1>
  • <div id='marqueeBox1' class='marqueeBoxV'>
  • <div id='contentBox1'>
  • du blabla en HTML oui oui !! <img src='image.gif' /> <br />
  • du blabla en HTML oui oui !! <img src='image.gif' /> <br />
  • du blabla en HTML oui oui !! <img src='image.gif' /> <br />
  • du blabla en HTML oui oui !! <img src='image.gif' /> <br />
  • du blabla en HTML oui oui !! <img src='image.gif' /> <br />
  • du blabla en HTML oui oui !! <img src='image.gif' /> <br />
  • du blabla en HTML oui oui !! <img src='image.gif' /> <br />
  • du blabla en HTML oui oui !! <img src='image.gif' /> <br />
  • du blabla en HTML oui oui !! <img src='image.gif' /> <br />
  • du blabla en HTML oui oui !! <img src='image.gif' /> <br />
  • du blabla en HTML oui oui !! <img src='image.gif' /> <br />
  • du blabla en HTML oui oui !! <img src='image.gif' /> <br />
  • du blabla en HTML oui oui !! <img src='image.gif' /> <br />
  • du blabla en HTML oui oui !! <img src='image.gif' /> <br />
  • du blabla en HTML oui oui !! <img src='image.gif' /> <br />
  • du blabla en HTML oui oui !! <img src='image.gif' /> <br />
  • </div>
  • </div><br />
  • <h1>vitesse->1 , direction->bottom , vitesse Maxi du défilement->5</h1>
  • <div id='marqueeBox2' class='marqueeBoxV'>
  • <div id='contentBox2'>
  • du blabla en HTML oui oui !! <img src='image.gif' /> <br />
  • du blabla en HTML oui oui !! <img src='image.gif' /> <br />
  • du blabla en HTML oui oui !! <img src='image.gif' /> <br />
  • du blabla en HTML oui oui !! <img src='image.gif' /> <br />
  • du blabla en HTML oui oui !! <img src='image.gif' /> <br />
  • du blabla en HTML oui oui !! <img src='image.gif' /> <br />
  • du blabla en HTML oui oui !! <img src='image.gif' /> <br />
  • du blabla en HTML oui oui !! <img src='image.gif' /> <br />
  • du blabla en HTML oui oui !! <img src='image.gif' /> <br />
  • du blabla en HTML oui oui !! <img src='image.gif' /> <br />
  • du blabla en HTML oui oui !! <img src='image.gif' /> <br />
  • du blabla en HTML oui oui !! <img src='image.gif' /> <br />
  • du blabla en HTML oui oui !! <img src='image.gif' /> <br />
  • du blabla en HTML oui oui !! <img src='image.gif' /> <br />
  • du blabla en HTML oui oui !! <img src='image.gif' /> <br />
  • du blabla en HTML oui oui !! <img src='image.gif' /> <br />
  • </div>
  • </div><br />
  • <h1>vitesse->1.5 , direction->right , vitesse Maxi du défilement->10</h1>
  • <div id='marqueeBox3' class='marqueeBoxH'>
  • <div id='contentBox3'>
  • du blabla en HTML oui oui !! <img src='image.gif' />
  • du blabla en HTML oui oui !! <img src='image.gif' />
  • du blabla en HTML oui oui !! <img src='image.gif' />
  • du blabla en HTML oui oui !! <img src='image.gif' />
  • du blabla en HTML oui oui !! <img src='image.gif' />
  • du blabla en HTML oui oui !! <img src='image.gif' />
  • du blabla en HTML oui oui !! <img src='image.gif' />
  • du blabla en HTML oui oui !! <img src='image.gif' />
  • du blabla en HTML oui oui !! <img src='image.gif' />
  • du blabla en HTML oui oui !! <img src='image.gif' />
  • du blabla en HTML oui oui !! <img src='image.gif' />
  • du blabla en HTML oui oui !! <img src='image.gif' />
  • du blabla en HTML oui oui !! <img src='image.gif' />
  • du blabla en HTML oui oui !! <img src='image.gif' />
  • du blabla en HTML oui oui !! <img src='image.gif' />
  • du blabla en HTML oui oui !! <img src='image.gif' />
  • </div>
  • </div><br />
  • <h1>vitesse->2 , direction->left , vitesse Maxi du défilement->3</h1>
  • <div id='marqueeBox4' class='marqueeBoxH'>
  • <div id='contentBox4'>
  • du blabla en HTML oui oui !! <img src='image.gif' />
  • du blabla en HTML oui oui !! <img src='image.gif' />
  • du blabla en HTML oui oui !! <img src='image.gif' />
  • du blabla en HTML oui oui !! <img src='image.gif' />
  • du blabla en HTML oui oui !! <img src='image.gif' />
  • du blabla en HTML oui oui !! <img src='image.gif' />
  • du blabla en HTML oui oui !! <img src='image.gif' />
  • du blabla en HTML oui oui !! <img src='image.gif' />
  • du blabla en HTML oui oui !! <img src='image.gif' />
  • du blabla en HTML oui oui !! <img src='image.gif' />
  • du blabla en HTML oui oui !! <img src='image.gif' />
  • du blabla en HTML oui oui !! <img src='image.gif' />
  • du blabla en HTML oui oui !! <img src='image.gif' />
  • du blabla en HTML oui oui !! <img src='image.gif' />
  • du blabla en HTML oui oui !! <img src='image.gif' />
  • du blabla en HTML oui oui !! <img src='image.gif' />
  • </div>
  • </div>
  • </body>
<!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" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1" />
<title>simpleMarquee</title>
<style>
   h1{
      font-size:15px;color:green;margin:auto;border-bottom:1px solid green;width : 450px;
   }
   .marqueeBoxH, .marqueeBoxV{
      margin:auto;border:1px solid black;overflow:scroll;
   }
   .marqueeBoxH{
      width:450px;height:25px;white-space : nowrap;
   }
   .marqueeBoxV{
      width:150px;height:150px;
   }
</style>
<script type="text/javascript" src="prototypeTo.js"></script>
<script type="text/javascript" src="marquee.js"></script>
<script type="text/javascript">
   //définit une fonction a appliquer a la fin du chargement
   Event.observe(window, 'load', init);
   function init(){
      /*
         liste des arguments possibles : 
            -  id ou element conteneur 
            -  id ou element contenue 
            -  vitesse initiale 
            -  direction du déplacement
            -  vitesse du scrolling , lors d'un mouse mouve au dessus de l 'élement
      */
   
      new Marquee('marqueeBox1','contentBox1',0.5,'top',3);
      new Marquee('marqueeBox2','contentBox2',1,'bottom',5);
      new Marquee('marqueeBox3','contentBox3',2,'left',10);
      new Marquee('marqueeBox4','contentBox4',1.5,'right',3);
   }
</script>
</head>
<body >
   <h1>vitesse->0.5 , direction->top , vitesse Maxi du défilement->3</h1>
   <div id='marqueeBox1' class='marqueeBoxV'>
      <div id='contentBox1'>
         du blabla en HTML oui oui !! <img src='image.gif' /> <br />
         du blabla en HTML oui oui !! <img src='image.gif' /> <br />
         du blabla en HTML oui oui !! <img src='image.gif' /> <br />
         du blabla en HTML oui oui !! <img src='image.gif' /> <br />
         du blabla en HTML oui oui !! <img src='image.gif' /> <br />
         du blabla en HTML oui oui !! <img src='image.gif' /> <br />
         du blabla en HTML oui oui !! <img src='image.gif' /> <br />
         du blabla en HTML oui oui !! <img src='image.gif' /> <br />
         du blabla en HTML oui oui !! <img src='image.gif' /> <br />
         du blabla en HTML oui oui !! <img src='image.gif' /> <br />
         du blabla en HTML oui oui !! <img src='image.gif' /> <br />
         du blabla en HTML oui oui !! <img src='image.gif' /> <br />
         du blabla en HTML oui oui !! <img src='image.gif' /> <br />
         du blabla en HTML oui oui !! <img src='image.gif' /> <br />
         du blabla en HTML oui oui !! <img src='image.gif' /> <br />
         du blabla en HTML oui oui !! <img src='image.gif' /> <br />
      </div>
   </div><br />
   <h1>vitesse->1 , direction->bottom , vitesse Maxi du défilement->5</h1>
   <div id='marqueeBox2' class='marqueeBoxV'>
      <div id='contentBox2'>
         du blabla en HTML oui oui !! <img src='image.gif' /> <br />
         du blabla en HTML oui oui !! <img src='image.gif' /> <br />
         du blabla en HTML oui oui !! <img src='image.gif' /> <br />
         du blabla en HTML oui oui !! <img src='image.gif' /> <br />
         du blabla en HTML oui oui !! <img src='image.gif' /> <br />
         du blabla en HTML oui oui !! <img src='image.gif' /> <br />
         du blabla en HTML oui oui !! <img src='image.gif' /> <br />
         du blabla en HTML oui oui !! <img src='image.gif' /> <br />
         du blabla en HTML oui oui !! <img src='image.gif' /> <br />
         du blabla en HTML oui oui !! <img src='image.gif' /> <br />
         du blabla en HTML oui oui !! <img src='image.gif' /> <br />
         du blabla en HTML oui oui !! <img src='image.gif' /> <br />
         du blabla en HTML oui oui !! <img src='image.gif' /> <br />
         du blabla en HTML oui oui !! <img src='image.gif' /> <br />
         du blabla en HTML oui oui !! <img src='image.gif' /> <br />
         du blabla en HTML oui oui !! <img src='image.gif' /> <br />
      </div>
   </div><br />
   <h1>vitesse->1.5 , direction->right , vitesse Maxi du défilement->10</h1>
   <div id='marqueeBox3' class='marqueeBoxH'>
      <div id='contentBox3'>
         du blabla en HTML oui oui !! <img src='image.gif' /> 
         du blabla en HTML oui oui !! <img src='image.gif' /> 
         du blabla en HTML oui oui !! <img src='image.gif' />
         du blabla en HTML oui oui !! <img src='image.gif' /> 
         du blabla en HTML oui oui !! <img src='image.gif' /> 
         du blabla en HTML oui oui !! <img src='image.gif' /> 
         du blabla en HTML oui oui !! <img src='image.gif' />
         du blabla en HTML oui oui !! <img src='image.gif' />
         du blabla en HTML oui oui !! <img src='image.gif' /> 
         du blabla en HTML oui oui !! <img src='image.gif' /> 
         du blabla en HTML oui oui !! <img src='image.gif' /> 
         du blabla en HTML oui oui !! <img src='image.gif' />
         du blabla en HTML oui oui !! <img src='image.gif' />
         du blabla en HTML oui oui !! <img src='image.gif' /> 
         du blabla en HTML oui oui !! <img src='image.gif' />
         du blabla en HTML oui oui !! <img src='image.gif' /> 
      </div>
   </div><br />
   <h1>vitesse->2 , direction->left , vitesse Maxi du défilement->3</h1>
   <div id='marqueeBox4' class='marqueeBoxH'>
      <div id='contentBox4'>
         du blabla en HTML oui oui !! <img src='image.gif' /> 
         du blabla en HTML oui oui !! <img src='image.gif' /> 
         du blabla en HTML oui oui !! <img src='image.gif' />
         du blabla en HTML oui oui !! <img src='image.gif' /> 
         du blabla en HTML oui oui !! <img src='image.gif' /> 
         du blabla en HTML oui oui !! <img src='image.gif' /> 
         du blabla en HTML oui oui !! <img src='image.gif' />
         du blabla en HTML oui oui !! <img src='image.gif' />
         du blabla en HTML oui oui !! <img src='image.gif' /> 
         du blabla en HTML oui oui !! <img src='image.gif' /> 
         du blabla en HTML oui oui !! <img src='image.gif' /> 
         du blabla en HTML oui oui !! <img src='image.gif' />
         du blabla en HTML oui oui !! <img src='image.gif' />
         du blabla en HTML oui oui !! <img src='image.gif' /> 
         du blabla en HTML oui oui !! <img src='image.gif' />
         du blabla en HTML oui oui !! <img src='image.gif' /> 
      </div>
   </div>
</body>


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

15 avril 2009 17:38:27 :
correction du bug ie7 , + ajout de la purge des évènement et de l'interval , lors de la fermeture de la fenetre.
16 avril 2009 18:02:47 :
optimisation du code ...

 Sources du même auteur

Source avec Zip SYSTÈME DE REQUÊTE SUR DES DONNÉES JSON
Source avec Zip Source avec une capture MENU ANIMER HORIZONTALE OU VERTICAL , ACCÈSSIBLE SANS JS (SA...
Source avec Zip MARQUEE VERSION2 COMPATIBLE MOOTOOLS, JQUERY, PROTOTYPE ET S...
Source avec Zip Source avec une capture UID - FRAMEWORK JAVASCRIPT
Source avec Zip DOMBUILDER

 Sources de la même categorie

Source avec Zip Source avec une capture ANTI-ROBOTS V 1.0 par MacGaliver
Source avec une capture PRÉSENTOIR PAGE/SUJET par tiranus
Source avec Zip Source avec une capture NAVIGATEUR INTERNET HAVRET par HAVRETos
Source avec Zip WMANAGER.JS : GÉRER LES FICHIERS WMA AVEC WINDOWS MEDIA PLAY... par jdmcreator
Source avec Zip Source avec une capture NAVIGATION PAR AJAX, CHARGEMENT DES PAGES SANS RECHARGEMENT par zulrigh

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture SCROLLBAR PERSONNALISABLE par kazma
Source avec Zip Source avec une capture SCROLLBAR CLASS par heycraft
Source avec Zip Source avec une capture DEFILEMENT A LA IPHONE par kazma
Source avec Zip MARQUEE VERSION2 COMPATIBLE MOOTOOLS, JQUERY, PROTOTYPE ET S... par Kimjoa
Source avec Zip Source avec une capture DEFILEMENT D'IMAGE PAR TABLEAU par kazma

Commentaires et avis

Commentaire de Manuel78 le 14/04/2009 23:35:39 9/10

très bonne source vais m'en servir, dommage pour chrome mais vu sont taux de pénétration limite on s'en fout...

Commentaire de Kimjoa le 14/04/2009 23:46:30

salut, ba en faite c'est compatible chrome justement ...
bye

Commentaire de crazygogo le 15/04/2009 09:34:16

Comme l'a dit kimjoa, c'est la balise marquee qui n'est pas compatible !!!

Commentaire de Bul3 le 15/04/2009 09:54:20

bah... marquee ça marche pourtant nickel,
avec Chrome compris...
exemple avec des liens et des images :
<marquee OnMouseOver="this.stop();"
OnMouseOut="this.start();">
<a href="url1"><img src="image1.jpg"...></a>
<a href="url2"><img src="image2.jpg"...></a>
<a href="url3"><img src="image3.jpg"...></a>
<a href="url4"><img src="image4.jpg"...></a>
</marquee>
l'organisme dont on parle reconnaitra
sûrement cette balise dans 20 ans...
@+

Commentaire de crazygogo le 15/04/2009 09:59:55

par contre sous IE7 ça me donne ça:

http://i87.servimg.com/u/f87/13/27/85/89/2009-010.png

Commentaire de XtremDuke le 15/04/2009 13:57:33

Marquee est une balise propriétaire (de MS si je me souviens bien) et est donc logiquement interdite par le consortium qui prône la standardisation des langages.
Cependant, il est tout à fait possible de l'utiliser dans un document purement Html et dénué de doctype.
A partir du moment où on précise la compatibilité du document (html/xhtml => doctype), il faut bien-entendu oublier cette balise.

Tout dépend du développeur.

Commentaire de Kimjoa le 15/04/2009 15:14:00

merci les gars pour vos commentaire !!

concernant la compatibilité sur chrome , j'avais éssayé y a 1 an de ça avec un doctype transitional , et ça ne marchait pas, oui je sais 1 an c'est énorme :) , après c'est sur respecté les normes à fond c'est une chose , mais est-ce vraiment utile si aux final c'est 100% compatible?? .... perso , je suis pas un acharné des normes, mais ais créer ce script pour kil soit aussi plus évolutif que la simple balise marquee , y'a déjà un système de défilement au passage de la sourie en plus , j'ai pas le temps d'en faire plus , vous peux être :) ,par exemple un systeme de scroll  à barre et bouton plus classique , ou scroller directement le contenue avec un mouse down , intégrer des items au contenue pour un défilement discontinue  ect... En faite je lais fais surtout pour bien comprendre la méthode pour le  développement ma librairie, dont je reprendrais le développement après le taff qui m'a été confié ...

Pour info , une règle css comme marque devrait voire le jour en css3 , donc dans 10 ans , çà fait 10 de moins :)

Concernant ie7, je règle ce beug de suite, et  élargie mes testes de  compatibilité.

a++

Commentaire de Kimjoa le 16/04/2009 18:07:57

je viens de reposter le code, y avais un beug dans le prototype , et aussi lorsque le contenue était plus petit que le conteneur ...

!!! si vous voulais faire marquee horizontale, placé toujours le contenue dans un span , et aussi avec un style white-space : nowrap;

bye

Commentaire de jdmcreator le 16/04/2009 23:56:03

Bonjour,

Pour le white-space, pourquoi ne l'ajoute tu pas dynamiquement ? Sinon, bonne source, je n'ai pas vu la version modifié mais serais-ce possible que lorsque l'on aille d'un bord, cela ne change pas de direction ?

JDMCreator

Commentaire de crazygogo le 17/04/2009 09:47:51 9/10

ça marche nickel bravo

Commentaire de Kimjoa le 17/04/2009 12:57:10

Salut jdmcreator, concernant le white-space : nowrap; il est pas forcement nécessaire dans 100% des cas, par exemple si mon contenue est un tableau ect ...,mais juste à 99ù :) !!

concernant la direction , c'est tout à fait possible , par défaut  cette option  vaut 3 , pour faire simple faut juste remplacé cette ligne .

this.coefOverSpeed=coefOverSpeed || 3;
par
this.coefOverSpeed=coefOverSpeed || 0;

voià, je reposte pas pour si peu...

merci pour la note crazygogo , j'espère que ça te servira !!

a++

Commentaire de envahiseur le 21/04/2009 20:36:34

merci je prend se code pour mon site qui es en test présentement je recherche un 100% w3c validation pas facile beau travail

Commentaire de CreaReno le 13/05/2009 17:05:00

J'ai l'impression qu'il y a un conflit entre les javascript type Lightbox et ce code :(

Quelqu'un d'autre a t-il observé quelque chose de similaire ?

Commentaire de Kimjoa le 13/05/2009 17:11:26

t'as pas un msg d'erreur pour voir si je peux t'aider?

Commentaire de CreaReno le 20/05/2009 17:10:03

En fait il y avait un autre fichier Js qui n'étais plus utilisé et qui s'appelait scroll.js je suppose que c'est lui qui fesait un conflit.
Pour le coup faute de temps j'ai mis en place un malheureux <marquee> mais à l'occasion je me re-pencherais sur ton jolie script.
je repasserais poster le résultat de mes pérégrination au besoin.

Commentaire de frost20 le 03/02/2010 03:31:54

ça marche très bien j'adore W3C all good.

Commentaire de analog101 le 07/06/2010 10:07:40

bonjour,
ou peut-on voir des exemples ?

Commentaire de Kimjoa le 07/06/2010 12:39:15

merci frost20 ;)

Pour l'exemple tu peux allé ici -> http://psallette.fr/

Commentaire de Kimjoa le 07/06/2010 12:41:03

heu sinon y a une nouvelle version ici
http://www.javascriptfr.com/codes/MARQUEE-VERSION2-COMPATIBLE-MOOTOOLS-JQUERY-PROTOTYPE-SANS-LIBRAIRIE_51524.aspx

Commentaire de patrickbangkok le 31/08/2010 16:48:24 7/10

J'ai cherche pendant plusieurs heures un script qui fonctionne... En vain.
Le tien contient quelques petites erreurs :fermeture </html> par exemple et d'autres que n'importe qui peut corriger facilement.
Il est facile a parametrer et donc a utiliser.
Bravo, continue.
PatrickBangkok (neophyte de la construction de site)

Commentaire de masternico le 29/11/2010 16:59:45 9/10

Salut,
j'aime beaucoup ton script que j'utilise sur un de mes sites. L'intégration s'est passé sans (trop) de problèmes.

Par contre, je ne mets pas 10 car tu as restreint le fonctionnement du passage de la souris à la seule accélération et abitrairement en te basant sur la zone du milieu. Par exemple, j'avais besoin que le marquee s'arrete et non pas qu'il accélère. Il serait interessant que tu rajoute un paramètre qui permette de définir comment on veut que celà fonctionne

Autre modif que j'ai du faire, c'est que le marquee est déjà rempli lorsqu'il commence (  this.startStep=0; )

Et pour un défilement en continu, j'ai rajouté un clonage de div, parceque sinon, il faut attendre que tout le message ait disparu pour le voir réapparaitre à nouveau.

Je mets ici mes modifs pour le cas ou celà inspirerait qqu'un:

function Marquee(box,content,speed,dirc,coefOverSpeed){
  //ini les variables
  this.box=$(box);
  this.content=$(content);


  this.speed=speed || 1;
  this.dirc=dirc || 'top';
  this.coefDirc=1;
  this.coefOverSpeed=coefOverSpeed || 3;
  this.inverseDirc=(this.dirc=='bottom' || this.dirc=='right');
  var horizontalDirc=(this.dirc=='bottom' || this.dirc=='top');

  //on repositionne les élements + cache les scrolls
  this.box.style.overflow='hidden';
  this.box.style.position='relative';//ie7 bug
  this.content.style.position='relative';

  //on clone le content pour avoir un affichage continu
  this.content_double = this.content.cloneNode(this.content);
  this.box.appendChild(this.content_double);

  //calcule la dimension du conteneur  + la dimention du contenue
  var boxDim=this.box['client'+(horizontalDirc?'Height':'Width')];
  var contentDim=this.content['offset'+(horizontalDirc?'Height':'Width')];

  //on definit las position max et de départ
  this.maxDim=this.inverseDirc?-boxDim:-contentDim;
  this.startStep=0;
  this.currentStep=this.startStep;

  //ajoutes les evenemnts
  this.eventOver=this.onMouseover.bindAsEventListener(this);
  Event.observe(this.box,'mouseover',this.eventOver);

  this.eventOut=this.onMouseout.bindAsEventListener(this);
  Event.observe(this.box,'mouseout',this.eventOut);

  this.interval=setInterval(this.interval.bind(this),35);

  this.eventUnload=this.unload.bindAsEventListener(this);
  Event.observe(window,'unload',this.eventUnload.bind(this));
}
Marquee.prototype={
   onMouseout : function(e){
      Event.stopObserving(this.box,'mousemove',this.eventMouseMove);
      this.coefDirc=1;
   },
   onMouseover : function(e){
       var dim=Element.viewportOffset(this.box);
       if(this.dirc=='top' || this.dirc=='bottom'){
         this.coor=[dim[1],dim[1]+this.box.clientHeight];
       }else this.coor=[dim[0],dim[0]+this.box.clientWidth];
       this.mouseMove(e);
       this.eventMouseMove=this.mouseMove.bindAsEventListener(this);
       Event.observe(this.box,'mousemove',this.eventMouseMove);
   },
   interval : function(){
     var acc=this.speed*this.coefDirc;
     $(this.content).style[this.dirc]=this.currentStep-acc+'px';
     $(this.content_double).style[this.dirc]=this.currentStep-acc+'px';
     this.currentStep-=acc;
     if(this.currentStep>this.startStep)
        this.currentStep=this.maxDim;
     if(this.inverseDirc){
        if(this.currentStep<this.maxDim)
           this.currentStep=this.startStep;
     }else{
        if(this.currentStep<this.maxDim)
           this.currentStep=this.startStep;
     }
   },
   mouseMove:function(e){
      this.coefDirc = 0;   // on bloque le défilement
   },
   unload : function(){
      clearInterval(this.interval);
      Event.stopObserving(this.box,'mouseover',this.eventOver);
      Event.stopObserving(this.box,'mouseout',this.eventOut);
      Event.stopObserving(window,'unload',this.eventUnload.bind(this));
   }
}

Event.observe(window, 'load', init_carousel);
function init_carousel(){
/*
liste des arguments possibles :
-  id ou element conteneur
-  id ou element contenue
-  vitesse initiale
-  direction du déplacement
-  vitesse du scrolling , lors d'un mouse mouve au dessus de l 'élement
*/

new Marquee('carousel_conteneur','carousel',1,'top',0);
}


//////////////////

Merci pour ton script

Commentaire de proftnj le 11/09/2011 02:30:13 10/10

Pour ne pas me casser la tête, j'utilise
this.coefOverSpeed=coefOverSpeed || 0;

J'ai alors l'effet que je voulais vraiment pour un scroll vertical classique avec arrêt par onmouseover.

C'est super !
Reste à voir si la page qui contiendra ce script sera validée en XHTML 1.0 Transitional (je n'ai pas encore vérifié).

Bravo et merci !

Commentaire de proftnj le 11/09/2011 16:11:49

Si la page comporte bien les déclarations obligatoires, elle est validée XHTML 1.0 Transitional quand elle comporte le script.

Ce script permet donc de se passer de 'marquee' et offre d'autres effets intéressants.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Texte défilant verticalement (un peu comme celui de l'active deskpt de JAVASCRIPTFr.com [ par pi0up51 ] J'aurais bien aimé que quelqu'un me dise comment je pourrais faire, ça, parcque là je sèche total !!Merci d'avance pour votre aide !!pi0up51 javascript apostrophe [ par tews ] Salut à tous. J'ai un sale bug sur un marquee (texte défilant). Quand le texte défilant contient une apostrophe, j'obtiens un message d'erreur.Existe- descendre la barre de defilement en bas ! [ par Stephane ] salutvoila j'ai un cadre IFrame, je voudrais qu'a un certain moment, la barre de défilement aille tout en bas. je pense que vous comprendrez mieu si j Defilement d'une scroll bar [ par zipzip ] defilement d'un fond [ par kinooo ] texte défilant [ par cristina49 ] bonsoir,je souhaite faire apparaitre sur mon site un texte défilant. Or sur tous les sites ou j'ai été, le texte se trouve dans un cadre (une zone de Texte défilant avec arrêt souris [ par Jonef ] Salut à tousJ'ai un petit prob car j'aimerais créer un page internet où il y aurait un script java qui ferait défiler un texte horizontalement et qui Defilement d image [ par RAPHAI ] Bonjour a tous,J aimerais faire defiler des images a l aide de curseurs. Le probleme est que je n ai aucune idee de comment faire!Je dois les faire de defilement de texte dans la navigation [ par ordipard ] salut, j'ai vu un jour sur un site que quand on déplaçait la barre de défilement, seul son texte bougeait et l'image de font restai sur place, je voud texte défilant [ par aurelivs ] bonjour je voudrais créer un texte défilant verticalement qui puisse marcher sous mozilla fiirefox. je dis ca parce que, avec la balise &lt;marquee


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,186 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales