Soyez le premier à donner votre avis sur cette source.
Vue 42 816 fois - Téléchargée 2 331 fois
<html> <head> <style type="text/css" /> body{text-align:center;width:100%;} #fenetre{position:relative;overflow:hidden;width:400px;text-align:left;margin:auto; background-color:#C0C080;border:3px inset;} #marquee{color:#002000;padding:0 5px;} </style> <script type="text/javascript"> <!-- // pas de défilement : var pas=2 // hauteur de la partie visible var h_fen="100px" function scrollmrq(){ if ( parseInt(mrq.style.top) > -h_mrq ) mrq.style.top = parseInt(mrq.style.top)-pas+"px" else mrq.style.top=parseInt(h_fen)+"px" } function init_mrq(){ mrq=document.getElementById("marquee"); fen=document.getElementById("fenetre"); fen.onmouseover=function(){stoc=pas;pas=0}; fen.onmouseout=function(){pas=stoc};fen.style.height=h_fen; h_mrq=mrq.offsetHeight; with(mrq.style){position="absolute";top=h_fen;} setInterval("scrollmrq()",100); } window.onload=init_mrq //--> </script> </head> <body> <h2>Texte défilant verticalement avec pause type MARQUEE</h2> <p><strong>Pause</strong> : passez votre souris dessus.</p> <div id="fenetre"> <div id="marquee"> <cite> Grâce à la balise html <marquee> vous pouvez obtenir qu'un texte au milieu d'un contexte défile automatiquement comme dans l'écran de veille connu de Windows "Marquee". Cependant, ces données ne sont interprétées que par l' Explorer Internet MS et ne font pas partie du standard HTML.</cite> <h3>Description :</h3> <p>Basé sur 2 div imbriqués :</p> <ul> <li>"fenetre" avec un style "overflow:hidden" ne laisse apparaître qu'une partie de son contenu.</li> <li>"marquee" contient le texte à faire défiler au format HTML </li> </ul> <h3>les fonctions javascript :</h3> <ul> <li>"scrollmrq" fait défiler le div "marquee" de bas en haut dans le div "fenetre", le remet au départ quand il déborde et le cycle continu </li> <li>"init_mrq" initialise.</li> </ul><h3>Accessible :</h3> <p>Au cas ou javascript serait désactivé ou incompatible ( Netscape 4, Opéra 6), le contenu du div "marquee" apparaît fixe et complet dans la page.</p> <h3>Paramétrage : </h3> <ul> <li>Le contenu HTML dans le div id="marquee"</li> <li>Le style dans la feuille de style </li> <li>Dans le script <ul> <li>Le pas de défilement : pas.</li> <li>La hauteur de la partie visible : h_fen.</li> </ul> </li> </ul> Essayé avec succès sur IE6, Mozilla 1.6, Netscape7, Opéra 7, FireFox sur WIN98. Faites part de vos constatations sur d'autres configurations, merci. </div> </div> </body> </html>
21 oct. 2013 à 15:16
9 avril 2013 à 11:26
Je déterre un peu ce topic, mais je l'ai utilisé récemment et je voulais savoir si quelqu'un pouvait m'aider à le modifier pour qu'il colle exactement à ce que je voudrais faire...
Serait-il possible de faire commencer le texte à afficher directement en haut de la zone (et ne pas attendre quelques secondes que le texte arrive en haut, laissant la zone blanche).
Serait-il également possible de ne pas laisser le blanc entre la fin du texte et le début, à la fin de la boucle ?
Je n'y connais presque rien à JS, donc c'est vraiment l'appel à l'aide d'un grand novice :-)
D'avance merci !
1 mars 2009 à 18:56
Comment faire pour placer 2 scroll sur la meme page , car le deuxieme forcement ne fonctionne pas et je ne sais pas comment modifier la source pour le faire , j'ai bien tenté mais renommer les fonctions et les balises css ne suffit pas
merci
20 oct. 2008 à 06:40
Ce code est sympa, il y a cependant un petit bug qui fait qu'il ne défile qu'une seule fois sur Firefox et Safari.
Dans la fonction : scrollmrq()
Il faudra modifier la dernière ligne par : mrq.style.top = fen.offsetHeight+"px";
En d'autres termes, il faudra ajouter '+"px"' pour le top soit défini en pixel.
A part cela, çà marche sur Firefox, IE et Safari super bien.
Je me suis permis un petit changement dans le code afin que le délai entre la disparition de la dernière news et l'apparition de la 1ère soit le plus court possible, je le partage avec vous :
<script type="text/javascript">
<!--
// pas de défilement :
var pas=1;
// hauteur de la partie visible
var h_fen="160px";
var h_fen_start="140px";
function scrollmrq(){
if ( parseInt(mrq.style.top) > -h_mrq+30 )
mrq.style.top = parseInt(mrq.style.top)-pas+"px";
else
mrq.style.top = h_fen_start;//fen.offsetHeight+"px";
}
function init_mrq(){
mrq = document.getElementById("marquee");
fen = document.getElementById("fenetre");
fen.onmouseover = function(){stoc=pas;pas=0};
fen.onmouseout = function(){pas=stoc};
fen.style.height = h_fen;
h_mrq = mrq.offsetHeight;
with(mrq.style){position="absolute";top=h_fen_start;}
setInterval("scrollmrq()",50);
}
window.onload=init_mrq;
//-->
</script>
3 avril 2007 à 16:09
SYmpa ce code. Mais sur firefox, il ne défile qu'une seule fois et dans ie, nickel.
Comment faire pour qu'il défile indéfiniment ou un certain nombre de fois???
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.