Recherche [balise] pour frise HTML

Résolu
Laurent -  
 koume -
Bonjour,

Mon problème dans une page HTML est que je n'arrive pas à faire défiler une frise à l'infini.

Je m'explique : j'ai une image rectangulaire que je voudrais faire défiler non stop vers la gauche ou vers la droite sans qu'il n'y ait jamais d'espace, même si elle doit être repétée un certain nombre de fois par page. J'ai trouvé des balises pour faire défiler l'image comme une voiture, mais je voudrais plutôt faire défiler l'image comme une route (j'espère me faire comprendre).

Comment faire ?

Merci beaucoup.
A voir également:

44 réponses

Laurent
 
Et je sais, pas obligatoirement
ALIGN="CENTER"
je sais, je connais le sens ("center" pour centrer [nooon ?], "right" pour droite [noooon ?] et "justify" pour justifier [nooooooooooon ?], et éventuellement left pour gauche [je me demande pourquoi ça existe, je n'en ai jamais encore eu l'usage, comme je me contente de <P>)...
Mais bon, j'ai la fâcheuse 'habitude de copier-coller
&nbsp;


Je ne l'apprendrais donc jamais par coueur... lol
Faudra bien un jour... relol
0
Ssylvainsab Messages postés 2884 Date d'inscription   Statut Modérateur Dernière intervention   825
 
Et voila !
http://ssylvainsab.free.fr/CCM/FORUMS/image-repetee-frise2.html
0
Laurent
 
Je venais de répatrer le problème.
0
Ssylvainsab Messages postés 2884 Date d'inscription   Statut Modérateur Dernière intervention   825
 
Ah, effectivement.
Mais il vaut mieux mettre les balises en minucules, et tu peux utiliser des balises p au lieu des div.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Laurent
 
OK, merci pour l'info. Mais les capitales, c'est un de mes trucs : ça fait plus propre. Non, c'est pas parce que Microsoft fait comme ça...

Mon Dieu que je suis con.

lol
0
Laurent
 
J'arrive pas à remplacer "div" par "p" sans que ça ne marche plus :...(

Sans doute parce que j'oublie des trucs. Mais bon, je pense que je vais laisser.
0
Laurent
 
Merci pour tout ! Je vais chercher le truc pour faire défiler la frise seul, avec les adresse que tu m'a données plus haut.
0
plop! Messages postés 54 Date d'inscription   Statut Membre Dernière intervention   27
 
Pour faire défiler pendant un certain temps :
dans la fonction runAnimation, supprime la ligne :
setTimeout("runAnimation()",delay);


Après l'appel à la fonction runAlimation(); dans la fonction startAnimation(), ajoute les lignes :
interval = setInterval("runAnimation()",delay);
setTimeout("clearInterval(interval)", totalTime);


Change a signature de la fonction startAnimation() qui, de
function startAnimation(targetElementName, imageURL, step, delayInMillis)
devient
function startAnimation(targetElementName, imageURL, step, delayInMillis, totalTime)


Après les définitions de variables, ajoute la ligne
var interval;
.

Lors de l'évènement onload du body, appelle la fonction avec un argument de plus : le temps en millisecondes au bout duquel tu veux voir la frise s'arrêter.
0
Utilisateur anonyme
 
Salut tout le monde!

Je n'ai pas le temps pou l'instant, mais je poste la version adaptée (selon vos désirs ;-) )du script d'ici 2 jours.

A bientôt!

;-)
HackTrack
0
Laurent
 
Merci les pro ! ^^
0
Utilisateur anonyme
 
Re-salut!

Allez, je suis trop bon, ça me perdra ;-)

Voici le script adapté.

On peut maintanant appeler startAnimation() avec un paramètre supplémentaire qui définit la durée de l'animation en secondes.

Si vous utilisez startAnimation() avec le même nombre de paramètre que dans la version précédente du script, l'animation ne cesse jamais.

<html>
<head>
  <title>Démo de frise d'image déroulantes - HackTrack 10/02/2007</title>
  <script language="javascript" type="text/javascript">
	/**
	*	AnimatedImage
	*
	*	Author: HackTrack (Philippe FERY - philippe.fery@gmail.com)
	*
	*	Date : 10/02/2007
	*
	*	Version 1.0
	*
	*	This script allows you to display a repeated image on the screen width, inside a DOM element.
	*	
	*	To use it, just call function 'startAnimation' with parameters (see function 'startAnimation')
	*
	*	TO DO: snap first and last image in order not to see horizontal scrollbar moving
	* */
	
	var NO_END = -1;
	var animatedImage; 	// image to be animated
	var stepX;			// number of pixels to move image between each move
	var dx;				//temporary variable used to calculate the current image offset
	var delay;			//delay between two moves (in milliseconds)
	var imageWidth;		//the image width
	var imageHeight;	//the image height(not used at now)
	var width;			//window inner width
	var height;			//window inner height (not used at now)
	var domElement;		//the DOM element where images have to be displayed
	var innerDOMElement;//a temporary DIV element used to display images inside the domElement
	var timeEnd;		//animation end time in millis. If equals to NO_END then never ends
	
	/**
	*	Function :
	*		name: runAnimation
	*		description:  endless loops image animation
	*	Parameters: none
	*/
	function runAnimation(){
		dx+=stepX;
		dx=parseInt(dx%imageWidth);
		width = parseInt(domElement.style.width);
		height = domElement.offsetHeight;
		var imageCount = parseInt(width/imageWidth)+3;
		domElement.style.overflow="hidden";
		innerDOMElement.style.width=imageCount*imageWidth;
		if(innerDOMElement.children != null){
			while(innerDOMElement.children.length>0){
				var elm =innerDOMElement.children[0];
				innerDOMElement.removeChild(elm);
				elm=null;
			}
		}
		var tmpImage;
		for(i=0;  i<imageCount ; i++){
			tmpImage = new Image();
			tmpImage.src=animatedImage.src;
			tmpImage.style.position="relative";
			tmpImage.style.top="0px";
			imageLeft=imageWidth*-1;
			tmpImage.style.left=imageLeft+"px";
			innerDOMElement.appendChild(tmpImage);
		}		
		innerDOMElement.style.position="relative";
		innerDOMElement.style.left=dx;
		if(timeEnd==NO_END){
			setTimeout("runAnimation()",delay);
		}else{
			if(timeEnd>getNowMillis()){
				setTimeout("runAnimation()",delay);
			}
		}
	}
	
	/**
	*	Function :
	*		name: startAnimation
	*		description:  initializes animation then starts it with no maximum duration
	*	Parameters:
	*		targetElementName: the DOM element where the images have to be displayed
	*		imageURL: image location
	*		step: the number of pixels the image will be moved each time (positive value=move right; neagtive value=move left)
	*		delayInMillis: the delay in milliseconds between each move
	*/
	function startAnimation(targetElementName, imageURL, step, delayInMillis){
		startAnimation(targetElementName, imageURL, step, delayInMillis,NO_END);
	}
	
	/**
	*	Function :
	*		name: startAnimation
	*		description:  initializes animation then starts it
	*	Parameters:
	*		targetElementName: the DOM element where the images have to be displayed
	*		imageURL: image location
	*		step: the number of pixels the image will be moved each time (positive value=move right; neagtive value=move left)
	*		delayInMillis: the delay in milliseconds between each move
	*/
	function startAnimation(targetElementName, imageURL, step, delayInMillis, maxDurationInSeconds){
		animatedImage= new Image();
		animatedImage.src=imageURL;
		imageWidth=animatedImage.width;
		imageHeight=animatedImage.height;
		domElement=document.getElementsByName(targetElementName)[0];
		stepX = step;
		delay = delayInMillis;
		if(maxDurationInSeconds!=NO_END){
			timeEnd = getNowMillis() + maxDurationInSeconds*1000;
		}else{
			timeEnd = NO_END;
		}
		dx=0;
		innerDOMElement=document.createElement('div');
		domElement.appendChild(innerDOMElement);
		
		runAnimation();
	}
	
	/**
	* Returns current tim in milliseconds
	*/
	function getNowMillis(){
		var nowDate = new Date();
		return nowDate.getTime();
	}
  </script>
</head>
<!--body onload="startAnimation('frise','file://F:/testBG_mini.jpg',-20,10);"-->
<body onload="startAnimation('frise','file://F:/heartbeat.gif',-10,50,5);">
<p>Démo de défilement d'images - HackTrack 12/02/2007</p>
<div id="frise" name="frise" style="border: solid 1px black;width:1024;">
</div>
;-)
HackTrack

</body>
</html>


Bonne nuit à toutes et à tous...

;-)
HackTrack

------------------------
Plus Ratio Quam Vis
0
Utilisateur anonyme
 
je sais pa si ca deja ete dit mais tu peux utiliser les vbalises html <marquee> </marquee>
0
plop! Messages postés 54 Date d'inscription   Statut Membre Dernière intervention   27
 
Chasse, pêche &transactions - info :
Lapinkiller à été mordu par un Laurent (espèce en voie d'apparition), oui oui c'est un fait, il a prononcé le mot marquee, et... ça ennerve beaucoup les Laurent.

Bon, les lapinkiller sont quand même très flemmes et ne veulent pas lire tout les topics surtout quand ils sont longs ; et ils aiment les MMORPG type diablo (enfin j'en sais rien...)
En revanche ils ne savent pas à quoi *sert* la combinaison Ctrl+F

Je plaisante bien sur,

C'était plop! pour CPT
0
Laurent
 
lol !

Tel est ridiculisé qui croyait ridiculiser... Mais bon, tu croyais bien faire ! Moi aussi, je me suis fait maintes fois ridiculiser en plaçant mon mot...

Et mille mercis aux autres !
0
Laurent
 
Et comment fait-on pour positionner les frise au bas de la page ?

En haut, j'arrive, mais pas en bas, et c'est bien sûr cette dernière position qui m'intéresse...
0
Laurent
 
Et puis, mille excuses, mais y a encore un petite problème (eux, ils bossent, et moi, je me permets de critiquer ! quelle honte !) : il y a une bande de déplacement de la page en bas !

Je voudrais qu'il n'y en ait pas, et que la frise fasse toute la longueur de la page à n'importe quel format (frise faisant toute la page, de 640 comme de 1600 pixels, et sans bande) !
0
Laurent
 
Voilà ce que j'aimerais (j'ai modifié) : http://quedza.lorenzo.free.fr/

Défilement constant, pas de barre pour parcourir la page en longueur, mais... Tout ce qui est affiché devrait défiler, et non un morceau (1 x l'image), et je voudrais choisir le temps de défilement. Et ce serait super si le visiteur pourrait arrêter le défilement, comme la musique.
0
Laurent
 
Mais je ne veux pas garder ça ! Surtout qu'il y a les "MARQUEE"...
0
Laurent
 
Je voudrais mettre la frise ET une couleur (bgcolor="#******") ou une image (background="*.*"), mais je n'arrive pas à mettre les deux. Ce n'est toujours que la frise qui apparaît (body id="*") ! Comment puis-je faire apparaître les deux ?
0
mireille
 
bonjour
j ai un probleme avec mon site.
je voudrais mettre des texte defilants ainsi que des images, le seul soucis, je pique des idees sur le forum mais ca ne marche jamais.
ca ne me prend pas " body" "html" "head"
pourais tu m aider!
j ai cree mon site avec publisher, c est un site pro.... si tu veux plus d explication je ne suis jamais tres loin.......
abientot j espere avec ton aide
merci bonne jhournee
0
Quedza
 
Tu devrais d'abord faire une copie de ta source (balises et tout ça)...
0
futfut2000
 
coucou

on est une fanfare et on aimerait faire défiler une frise où ya tous les musiciens. C'est t'y possible ??? voici l'endroit de l'image...


url : [url=https://www.hiboox.com][img]http://images0.hiboox.com/vignettes/2008/pt7qbkz7.jpg[/img][/url]

html <a href="https://www.hiboox.com" alt="Hébergé par Hiboox.com"><img src="http://images0.hiboox.com/images/2008/pt7qbkz7.jpg" border="0" ></a>

si vous pouviez nous aider, ce serait top !
0