begin process at 2012 02 12 19:21:57
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

CSS

 > 

Général

 > 

texte défilant en boucle


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

texte défilant en boucle

mardi 12 mai 2009 à 15:49:07 | texte défilant en boucle

SoundBoy771

Bonjour à tous,

Je galère depuis un moment maintenant sur un petit bout de code que je n'arrive pas a faire évoluer.

<script type="text/javascript">

    var defile;
    var posInit = 1200;
    var pscrnt = posInit;
    var vitesse = -0.3;
   
    function texteDefile() {
       
        if (!defile) {
            defile = document.getElementById('defile');
        }
       
        if (defile) {
            if(pscrnt < ( - defile.offsetWidth) ){
                pscrnt = posInit;
            }
            else {
                pscrnt+= vitesse;
            }
            defile.style.left = pscrnt+"px";
        }
    }
   
    setInterval('texteDefile()',5);

</script>

<div id="defile1">
    Mon texte défilant | Mon texte défilant | Mon texte défilant | Mon texte défilant | Mon texte défilant | Mon texte défilant |
</div>

Il fonctionne pas mal mais ce que j'aimerai c'est que le texte tourne en boucle sans s'arrêter, sans blanc entre les passages. Le but est que à terme, on ne vois pas ou le texte commence et ou il fini.

Merci d'avance pour votre aide.

@++
mardi 12 mai 2009 à 16:17:21 | Re : texte défilant en boucle

kazma

Administrateur CodeS-SourceS
bonjour

il marche pas du tout le code
mardi 12 mai 2009 à 16:29:12 | Re : texte défilant en boucle

SoundBoy771

doups autant pour moi, j'ai oublié le css -_-. Je l'ai retapé trop vite, excusez-moi.

Voici le code fonctionnel :

<html>
    <head>
        <style type="text/css">
            .defileScroll {
                cursor:default;
                background-color:pink;
                position:relative;
                width:100%;
                height:25%;
                overflow:hidden;
                color:inherit;
            }
           
            .defile {
                cursor:default;
                font-size:15pt;
                color:black;
                font-family:arial;
                width:2000px;
                position:absolute;
                margin-top:1px;
                background-color:transparent;
            }
        </style>
       
        <script type="text/javascript">
       
            var defile;// l'element a deplacer
            var posInit = 1200; // position horizontale de depart
            var pscrnt = posInit;
            var vitesse = -0.3;
           
            function texteDefile() {
               
                if (!defile) {
                    defile = document.getElementById('defile');
                }
               
                if (defile) {
                   
                    if(pscrnt < ( - defile.offsetWidth) ){
                        pscrnt = posInit;
                    }
                    else {
                        pscrnt+= vitesse; // pixel par deplacement
                    }
                    defile.style.left = pscrnt+"px";
                }
            }
           
            setInterval("texteDefile()",5); // delai de deplacement
           
        </script>
    </head>
    <body>
        <div class="defileScroll">
            <div class="defile" id="defile">Ceci est un texte défilant.!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</div>
        </div>
    </body>
</html>
mardi 12 mai 2009 à 21:41:57 | Re : texte défilant en boucle

kazma

Administrateur CodeS-SourceS
la methode est pas tres bonne

essai ceci tu m'en dira des nouvelles

<html>
<head>
<title>exemple</title>
<script language="JavaScript">
<!--
var texte=' texte defilant texte defilant texte defilant texte defilant texte defilant texte defilant texte defilant texte defilant'
var reel=''
function win(){

reel=reel.slice(1,reel.length)+reel.slice(0,1)
document.getElementById('cloc').firstChild.nodeValue=reel

if (reel==""){
reel=texte
}
setTimeout("win()",100)
}
//-->
</script>
</head>
<body onload="win()">
<span id='cloc' style='position:absolute;left:200px'>
texte defilant
</span>
</body>
</html>
mercredi 13 mai 2009 à 10:38:50 | Re : texte défilant en boucle

kazma

Administrateur CodeS-SourceS
la c'est mieux

<html>
<head>
<title>exemple</title>
<script language="JavaScript">
var texte=' texte defilant texte defilant texte defilant texte defilant texte defilant texte defilant texte defilant texte defilant'
function win(){
texte=texte.slice(1,texte.length)+texte.slice(0,1)
document.getElementById('cloc').firstChild.nodeValue=texte
setTimeout("win()",100)
}
</script>
</head>
<body onload="win()">
<span id='cloc' style='position:absolute;left:200px'>
texte defilant
</span>
</body>
</html>
mercredi 13 mai 2009 à 14:08:21 | Re : texte défilant en boucle

SoundBoy771

merci beaucoup pour ces réponses kazma.

Cependant, j'étais déjà tombé sur ce genre de code, et je ne le trouve pas fluide à coté de celui que j'ai posté.

C'est pour ça que je parlais d'optimisation de mon code, afin de conserver la fluidité.

Es-ce possible à ton avis ?
mercredi 13 mai 2009 à 16:01:45 | Re : texte défilant en boucle

kazma

Administrateur CodeS-SourceS
tu pourait mettre  plusieurs span comportant le meme texte dans un div principale en overflow hidden quand tu demarre tu fait avancer les div comme tu le fait actuellement et quand le premier div disparait totalement de l'ecran tu le retire tu decale les div de la taille du div a droite et tu remet le div que tu vient d'extraire   en amon. c'est le meme principe que ce que je t'ai mis avant reste a savoir si au moment de retrait du div ca sacadera pas.

en gros c'est un peut galere mais peut qu'il y a une solution plus simple  ???
lundi 19 décembre 2011 à 17:51:27 | Re : texte défilant en boucle

erico29

@SoundBoy771
Salut! Je ne suis pas expert en javascript, mais je trouve que ton script de défilement du texte est intéressant, car il à l'avantage d'utiliser les éléments html présents dans la page au lieu de les créer en javascript; ce qui est optimal pour le référencement et les normes d'accessibilité (pour les malvoyants et pour les moteurs de recherches). De plus, le défilement est assez fluide!

Je l'utilise pour faire défiler plusieurs messages dans des listes à puces disposées en fer à gauche (comme pour les menus horizontaux).

Un inconvénient tout de même: il est un peu saccadé par moments; la fluidité n'est pas parfaite... On dirait qu'il met du temps à charger certains éléments.

Si il y a eu des améliorations sur ce script, ou si vous en connaissez d'autres, tenez-moi au courant!
Merci.


Cette discussion est classée dans : texte, var, défilant, defile, pscrnt


Répondre à ce message

Sujets en rapport avec ce message

Encadrer un texte défilant [ par mobq ] Bonsoir,Pour faire défiler des news j'ai trouvé ce script qui me convient : défil. vers le haut, s'arrête au passage de la souris, accepte les liens.M Defilement texte javascript [ par AyGoR ] Bonjour à tous et à toute. Je réalise en ce moment [url=http://www.eco-action-plus.fr/accueil/]ce site.[/url] Vous remarquerez dans le header un text Script Indesign : redimensionner un bloc texte selon contenu et autres soucis [ par dewcaro ] Bonjour! Je suis occupée sur le développement de mon premier script javascript pour Indesign, et bien sûr je bloque... Donc je viens demander de l'ai Ajout d'une couleur dans l'effet texte néon [ par chrisdivx ] Bonjour, Je souhaiterais ajouter une couleur supplémentaire aux 2 couleurs mobiles de ce code mais je n'y arrive pas. Merci de votre aide (je suis dé texte visible et sélectionné dans textarea [ par bultez ] bonjour à tous.func A l'aide SVP [ par OuntaMalek ] Bonjour, j'ai un problème avec le code qui fait un texte défilant sur une page.Le problème c'est que en chargeant la page je vois le texte s'afficher récuperer des morceau de texte / Regex [ par supers03 ] Bonjourj'aimerai récupérer les url des images dans un texte. Donc le but du script est de chercher les balises images et de ne prendre que l'url à l'i mettre et recevoir un texte défilant dans la messagerie de microsolt outlook 2007 [ par eulzing ] Bonjour,je cherche comment mettre et recevoir un texte défilant sur ma messagerie de microsoft outlook 2007.J'ai essayé avec outlook expres et cela fo texte qui defile en boucle sans espace entre le debut et la fin [ par wally88 ] Bonjour, Voila j'aimerais que mon texte defile en boucle sans qu'il y ait d'espace entre. c'est a dire que les lettre arrivé a gauche par exemple ne


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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,732 sec (4)

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