[marquee] Equivalent en xhtml strict

WRInaute occasionnel
Ah bah merci de ton aide :)
Cela dit je vois toujours dans le code proposé la balise marquee, que le xhtml strict n'acceptera pas mais c'est une piste merci quand même
 
WRInaute occasionnel
Je ne saisi pas bien ce que tu entends par "ce que reprèsente sémantiquement ton élément" mais voici le code:
Code:
<div id="fil">
      <marquee scrolldelay="1" scrollamount="3"><a href="http://www.mabulle.com/guide-blogger.php" title="Guide"><strong>Bienvenue</strong> sur <strong>MaBulle</strong>.com - Cr&eacute;ez un blog gratuit et soyez acteurs du web !</a> Actuellement
<strong>26</strong> connectés dont <strong>6</strong> rédacteurs - Notre coup de coeur du moment >> <a href="http://audovere.mabulle.com/"><strong>Audovère</strong></a> &lt;&lt;</marquee></div>
sur ce site http://www.mabulle.com/

Je n'ai pas encore fait le test avec une balise div ou p, mais j'y travaille.
 
WRInaute accro
Je crois que j'ai un truc pour faire défiller le texte pas trop compliqué !
mais chez moi.... :lol:

Je regarde ce soir et le post si je trouve !
 
WRInaute accro
Je crois que j'ai un truc pour faire défiller le texte pas trop compliqué !
mais chez moi.... :lol:

Je regarde ce soir et le post si je trouve !

EDIT: en javascript...
 
WRInaute occasionnel
la remarque de e-kiwi est assez pertinente je trouve, je vais sûrement enlever cette balise et arrêter de me prendre la tête avec du javascript moisi!
En plus y a pas réellement d'intérêt à faire bouger le texte...
 
WRInaute accro
En javascript,
sans utiliser la balise marquee
Code:
<html>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
var oMarquees = [], oMrunning,
	oMInterv =        20,     //interval between increments
	oMStep =          1,      //number of pixels to move between 

increments
	oStopMAfter =     30,     //how many seconds should marquees 

run (0 for no limit)
	oResetMWhenStop = false,  //set to true to allow linewrapping 

when stopping
	oMDirection =     'left'; //'left' for LTR text, 'right' for 

RTL text

/***     Do not edit anything after here     ***/

function doMStop() {
	clearInterval(oMrunning);
	for( var i = 0; i < oMarquees.length; i++ ) {
		oDiv = oMarquees[i];
		oDiv.mchild.style[oMDirection] = '0px';
		if( oResetMWhenStop ) {
			oDiv.mchild.style.cssText = 

oDiv.mchild.style.cssText.replace(/;white-space:nowrap;/g,'');
			oDiv.mchild.style.whiteSpace = '';
			oDiv.style.height = '';
			oDiv.style.overflow = '';
			oDiv.style.position = '';
			oDiv.mchild.style.position = '';
			oDiv.mchild.style.top = '';
		}
	}
	oMarquees = [];
}
function doDMarquee() {
	if( oMarquees.length || !document.getElementsByTagName ) { 

return; }
	var oDivs = document.getElementsByTagName('div');
	for( var i = 0, oDiv; i < oDivs.length; i++ ) {
		oDiv = oDivs[i];
		if( oDiv.className && 

oDiv.className.match(/\bdmarquee\b/) ) {
			if( !( oDiv = 

oDiv.getElementsByTagName('div')[0] ) ) { continue; }
			if( !( oDiv.mchild = 

oDiv.getElementsByTagName('div')[0] ) ) { continue; }
			oDiv.mchild.style.cssText += 

';white-space:nowrap;';
			oDiv.mchild.style.whiteSpace = 'nowrap';
			oDiv.style.height = oDiv.offsetHeight + 'px';
			oDiv.style.overflow = 'hidden';
			oDiv.style.position = 'relative';
			oDiv.mchild.style.position = 'absolute';
			oDiv.mchild.style.top = '0px';
			oDiv.mchild.style[oMDirection] = 

oDiv.offsetWidth + 'px';
			oMarquees[oMarquees.length] = oDiv;
			i += 2;
		}
	}
	oMrunning = setInterval('aniMarquee()',oMInterv);
	if( oStopMAfter ) { setTimeout('doMStop()',oStopMAfter*1000); }
}
function aniMarquee() {
	var oDiv, oPos;
	for( var i = 0; i < oMarquees.length; i++ ) {
		oDiv = oMarquees[i].mchild;
		oPos = parseInt(oDiv.style[oMDirection]);
		if( oPos <= -1 * oDiv.offsetWidth ) {
			oDiv.style[oMDirection] = 

oMarquees[i].offsetWidth + 'px';
		} else {
			oDiv.style[oMDirection] = ( oPos - oMStep ) + 

'px';
		}
	}
}
if( window.addEventListener ) {
	window.addEventListener('load',doDMarquee,false);
} else if( document.addEventListener ) {
	document.addEventListener('load',doDMarquee,false);
} else if( window.attachEvent ) {
	window.attachEvent('onload',doDMarquee);
}
</script>
</HEAD>

<BODY>

<div class="dmarquee"><div><div>Marquee texte</div></div></div>

</body></html>

ça marche sous IE
sous firefox j'ai pas essayé
 
WRInaute occasionnel
Merci beaucoup ça a l'air d'être une bonne alternative malheureusement ça ne fonctionne pas sous firefox et aucun signalement d'erreur javascript n'apparaît sur la toolbar :? ce qui indiquerait que toutes les fonctions dans ce script sont acceptées par firefox. difficile donc de trouver un indice sur ce qui ne colle pas.
 
Discussions similaires
Haut