Exemples & Sources en JavaScript Annuaire francophone du CGI Exemples & Sources en JavaScript
Accueil du site

Détection (3)
Divers (10)
Formulaire (11)
Image (5)
Navigation (3)

Les 10 derniers
Les plus vus

Infos sur JavaScript
Les mots réservés
Les événements
Les opérateurs

Archives

A propos du site
Le Forum du site

Linker Scripts-fr !

Faîtes un lien sur votre site

 

Valid HTML 4.01!
Valid CSS!

Actuellement 2 connectés

Bienvenue sur Scripts-fr.com

Défillement d'une image


Exemple :

Ce JavaScript permet de faire défiller une image de droite à gauche puis de revenir un fois le bord de la fenêtre touché et au survol l'image s'arrête.
NOTA: cela ne fonctionne pas sous MozillaFirebird lorsqu'il y a une déclaration du doctype. Si vous trouvez pourquoi, merci de me le signaler


Explication du script : (a copier et à coller)

<html>
<head>
<title></title> </head>
<body>

<!-- Ici la déclaration de notre image dans un bloc div -->
<div id="imagepub" style="position: absolute; top: 0px; left: -200px; z-index: 10; visibility: visible">
<a href="#" onclick="return false;" onmouseover="stop()" onmouseout="repart()">
<img src="voir.gif" border="0" alt="Cliquez moi je suis une pub" height="60" width="120">
</a></div>

<script type="text/javascript">
// JavaScript créé par Laurent Séguin : "laurent@java.scripts-fr.com"
// Site web : "http://www.java.scripts-fr.com"

/* notre objet image, sa source et la variable de défillement */
objimage = new Image;
objimage.src = 'voir.gif';
temp = 1;
// plus ce chiffre est grand plus c'est lent

/* détection des DOMs */
var nn = (document.layers ? true : false);
var DOM2 = (document.getElementById ? true : false);
var ie = ((document.all) ? true : false);

if(nn) { /* Si DOM de NS4 */
// document.layer
 var obj = document.imagepub;
// il comprend innerHeight
 var haut = window.innerHeight - 10;
// et innerWidth
 var larg = window.innerWidth - 50;
}

if (DOM2) { /* Si conforme aux standard */
// DOM2 avec getElementById
 var obj = document.getElementById("imagepub");
// il comprend innerHeight
 haut = window.innerHeight-70;
// et innerWidth
 larg = window.innerWidth-150;
}

if (ie) { /* Si saloperie d'IE */
// on utilise all
 var obj = document.all.imagepub.style;
// et faut ruser
 haut = document.body.clientHeight + document.body.scrollTop - 10;
 larg = document.body.clientWidth + document.body.scrollLeft - 50 ;
}

// Récupération de la largeur et de la hauteur de notre image
var largeur = objimage.width;
var hauteur = objimage.height;

// On place notre image en "bas de page"
if (ie || nn) {obj.top = haut-hauteur}
else if (DOM2) {obj.style.top = haut-hauteur}

/* On donne à pos la largeur de l'image + constante en négatif (ca sort de l'écran) */
var pos=-(largeur+20)

// Et on commence à faire défiller notre image
moveMyimagepubDroite()

/* fonction qui fait bouger vers la droite */
function moveMyimagepubDroite() {
// On positionne notre flag à 0
flag = 0;
// Si pos est inférieur à taille de fenêtre - largeur + constante
if(pos<larg-(largeur-20))
 {
// La valeur du style left = valeur de pos
if (ie || nn) { obj.left = pos; }
else if (DOM2) { obj.style.left = pos; }
// On incrémente pos de 1
 pos+=1;
// On crée une tempo qui rapelle la fonction
 tempo=setTimeout('moveMyimagepubDroite()', temp);
// et on incrémente notre flag
 flag++;
} else {
// Quand on arrive au bord
// On change de fonction pour faire le retour
moveMyimagepubGauche()
}
}

/* fonction qui fait bouger vers la gauche */
function moveMyimagepubGauche() {
// toujours notre flag à 0
flag = 0;
// Si pos est supérieur à la largeur de l'image + constante
if(pos>-(largeur+150))
 {
// La valeur du style left = valeur de pos
if (ie || nn) { obj.left = pos; }
else if (DOM2) { obj.style.left = pos; }
// On décrémente pos de 1
 pos-=1;
// On crée une tempo qui rapelle la fonction
 tempo=setTimeout('moveMyimagepubGauche()', temp);
// et on décrémente notre flag
 flag--;
 } else {
// Dès que ca sort de l'écran
// On attend 5s et on relance la 1ère fonction
tempo2=setTimeout('moveMyimagepubDroite()', 5000);
 }
}

/* Fonction stoppant le défillement */
function stop()
// On anule le setTimeout
{ clearTimeout(tempo) }

/* Fonction faisant repartir l'image après un stop */
function repart() {
// Si flag est positif, on allait vers la droite
 if (flag>0) {moveMyimagepubDroite()}
// Si flag est négatif, On allait vers la gauche
 if (flag<0) {moveMyimagepubGauche()}
}
</script>

</body>
</html>


© 2002 Java.Scripts-fr - Tous droits réservés - Design altiline.com - Hébergement eBusiness.be
Pour tout commentaire, n'hésitez pas à contacter le webmaster

Contact !