IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

explication d'un script pour modification


Sujet :

JavaScript

  1. #1
    Membre confirm�
    Inscrit en
    Novembre 2004
    Messages
    152
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 152
    Par d�faut explication d'un script pour modification
    Bonjour,

    Etant d�butante en javascript, j'aurais besoin de quelques �claircissements pour pouvoir modifier un script.

    J'ai trouv� un script qui me permet de simuler le d�filement de la balise marquee.
    Toutefois celui-ci permet uniquement de mettre un message fixe. J'aimerais pouvoir le modifier pour mettre un texte issu de ma base de donn�es.

    Voici le script en question
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    <script type="text/JavaScript" language="JavaScript">
    	function scroll(n){
    		var blanc=" ";
    		var texte = "Ceci est une démonstration de l'alternative par JavaScript de la balise propriétaire [marquee] (Internet Explorer) afin d'obtenir le même effet sur tous les navigateurs actuels.";
     
    		var scrolling_text = blanc + texte;
    		scrolling_text = scrolling_text.substring(n,scrolling_text.length);
    		document.message.scroll_text.value = scrolling_text;
     
    		if(scrolling_text.length > 0) n ++;
    		else n = 0;
     
    		s = n;
    		n = setTimeout("scroll(s)", 100);
    	}
    </script>
    Pour afficher ce code, il faut actuellement ajouter dans son code html le code suivant
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <form name = "message"><input name = "scroll_text" size = "39"></form>
    J'aimerais donc appeler la fonction en passant ma variable texte issue de ma BDD.

    Est-il possible de mettre un truc du genre
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <form name = "message"><input name = "scroll_text" onload=scroll(mon_texte) size = "39"></form>
    et d'adapter la fonction scroll avec quelque chose comme
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    <script type="text/JavaScript" language="JavaScript">
    	function scroll(n, mon_texte){
    		var blanc=" ";
     
    		var scrolling_text = blanc + mon_texte;
    		scrolling_text = scrolling_text.substring(n,scrolling_text.length);
    		document.message.scroll_text.value = scrolling_text;
     
    		if(scrolling_text.length > 0) n ++;
    		else n = 0;
     
    		s = n;
    		n = setTimeout("scroll(s)", 100);
    	}
    </script>

    Merci d'avance pour votre aide.

  2. #2
    Expert �minent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par d�faut
    Bonjour,

    Il n'y pas d'onload sur <input>. Il me semble qu'il doit trainer quelque part dans la page un appel � la fonction scroll.
    Vous pouvez sans doute modifier cet appel mais faites attention lors du passage des param�tres:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    function scroll(n1, mon_text1)
    {
       //...
    }
     
    //différents appels:
    var n2;
    var mon_text2;
    scroll(n2); //n1 = n2 et mon_text1 = ''
    scroll(n2, mon_text2); //n1 = n2 et mon_text1 = mon_text2
    scroll(mon_text2); //n1 = mon_text2 et mon_text1 = ''

  3. #3
    Membre confirm�
    Inscrit en
    Novembre 2004
    Messages
    152
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 152
    Par d�faut
    Apr�s r�flexion, j'ai mis ceci, mais j'ai un probl�me pour r�cup�rer la valeur que je passe � mon input

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
     <form name = "message"><input id="scroll_text"  name = "scroll_text" size = "39" value="Ceci est une démonstration de l'alternative par JavaScript de la balise propriétaire  [marquee] (Internet Explorer) afin d'obtenir le même effet sur tous les navigateurs actuels"></form>
    et pour ma fonction, je remplace juste la ligne var texte
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     <script type="text/JavaScript" language="JavaScript">
    		function scroll(n){
    			var blanc=" ";
    			//var texte = "Ceci est une démonstration de l'alternative par JavaScript de la balise propriétaire        [marquee] (Internet Explorer) afin d'obtenir le même effet sur tous les navigateurs actuels.";
     
                            // est-ce que la syntaxe est juste pour récupérer la valeur de l'input scroll_text ?
    			var texte = document.getElementById('scroll_text').value;
     
    			var scrolling_text = blanc + texte;
    			scrolling_text = scrolling_text.substring(n,scrolling_text.length);
    			document.message.scroll_text.value = scrolling_text;
     
    			if(scrolling_text.length > 0) n ++;
    			else n = 0;
     
    			s = n;
    			n = setTimeout("scroll(s)", 100);
    		}
    	</script>
    Mais �a ne me retourne rien...

  4. #4
    Expert �minent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par d�faut
    C'est normal, il faut que la fonction scroll soit lanc�e quelque part:


  5. #5
    Membre confirm�
    Inscrit en
    Novembre 2004
    Messages
    152
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 152
    Par d�faut
    je ne comprends pas, je modifie uniquement la variable texte.

    Si je la laisse par d�faut le script fonctionne.
    Si je remplace en disant de r�cup�rer la valeur de l'input elle ne fonctionne plus.

    Je ne comprends pas o� et comment je dois appeler cette fonction.

    Pourriez-vous m'expliquer SVP.

    Merci d'vance

  6. #6
    Membre confirm�
    Inscrit en
    Novembre 2004
    Messages
    152
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 152
    Par d�faut
    Si je reprends mon script, je ne comprends pas pourquoi si l'on r�cup�re la valeur dynamiquement, le script ne fonctionne plus alors qu'avec une variable fixe si.

    Que change ceci dans la suite de mon script? Est-ce que la fonction tourne en boucle, emp�chant le bon fonctionnement du script?

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
     <script type="text/JavaScript" language="JavaScript">
    		function scroll(n){
    			var blanc=" ";
    			//var texte = "Ceci est une démonstration de l'alternative par JavaScript de la balise propriétaire [marquee] (Internet Explorer) afin d'obtenir le même effet sur tous les navigateurs actuels.";
     
                            // Que change ceci dans la suite de mon script?
    			var texte = document.getElementById('scroll_text').value;
     
    			var scrolling_text = blanc + texte;
    			scrolling_text = scrolling_text.substring(n,scrolling_text.length);
    			document.message.scroll_text.value = scrolling_text;
     
    			if(scrolling_text.length > 0) n ++;
    			else n = 0;
     
    			s = n;
    			n = setTimeout("scroll(s)", 100);
    		}
    	</script>
    Cordialement

  7. #7
    Expert �minent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par d�faut
    Il nous manque un bout de code quelque part. Donnez-nous le code de la page HTML g�n�r�e.

  8. #8
    Membre confirm�
    Inscrit en
    Novembre 2004
    Messages
    152
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 152
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php print $language->language ?>" lang="<?php print $language->language ?>" dir="<?php print $language->dir ?>">
     
      <head>
        <title><?php print $head_title; ?></title>
     
        <script type="text/JavaScript" language="JavaScript">
    		function scroll(n){
    			var blanc=" ";
    			//var texte = "Ceci est une démonstration de l'alternative par JavaScript de la balise propriétaire        [marquee] (Internet Explorer) afin d'obtenir le même effet sur tous les navigateurs actuels.";
    			//var texte = document.getElementById('idScroll_text').value;
    			var texte = document.forms["message"].elements["scroll_text"].value;
     
    			var scrolling_text = blanc + texte;
    			scrolling_text = scrolling_text.substring(n,scrolling_text.length);
    			document.message.scroll_text.value = scrolling_text;
     
    			if(scrolling_text.length > 0) n ++;
    			else n = 0;
     
    			s = n;
    			n = setTimeout("scroll(s)", 100);
    		}
    	</script> 
      </head>
     
      <body onload="scroll(0)" class="<?php print $body_classes; ?>">
     
        <form name = "message"><input name = "scroll_text" size = "39" value="la valeur de mon input par defaut" id="idScroll_text" type="text"></form>
     
      </body>
    </html>
    Effectivement dans le body on a "onload=scroll(0)"

  9. #9
    Expert �minent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par d�faut
    Quelle est la valeur de texte � ce niveau-ci ?

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    var texte = document.forms["message"].elements["scroll_text"].value;
    prompt("",texte); 
    var scrolling_text = blanc + texte;

  10. #10
    Expert �minent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par d�faut
    Bon, j'ai peut-�tre mal compris ce que vous faisiez car les lignes comment�es sont toujours les m�mes. Voici les deux possibilit�s:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    /* Je déclare le texte dans ma fonction */
    var texte = "Ceci est une démonstration de l'alternative par JavaScript de la balise propriétaire        [marquee] (Internet Explorer) afin d'obtenir le même effet sur tous les navigateurs actuels.";
    //Je commente cette ligne:
    //var texte = document.getElementById('idScroll_text').value;
     
    /* Je déclare le texte dans ma page */
    //Je commente cette ligne:
    //var texte = "Ceci est une démonstration de l'alternative par JavaScript de la balise propriétaire        [marquee] (Internet Explorer) afin d'obtenir le même effet sur tous les navigateurs actuels.";
    var texte = document.getElementById('idScroll_text').value;
    //Il faut un texte dans cet input HTML
    Bien entendu, la ligne comment�e peut-�tre totalement supprim�e.

Discussions similaires

  1. [PowerShell] Script pour lister date des derni�res modifications apport�e � un fichier
    Par Thoms13 dans le forum Scripts/Batch
    R�ponses: 1
    Dernier message: 16/03/2010, 12h39
  2. R�ponses: 8
    Dernier message: 29/07/2009, 16h34
  3. Une aide pour explication d'un script
    Par jibidy dans le forum Langage
    R�ponses: 2
    Dernier message: 08/07/2008, 13h45
  4. Besoin d'aide pour modif script
    Par Abdias dans le forum Langage
    R�ponses: 5
    Dernier message: 12/10/2006, 07h00
  5. Aide pour modification de script
    Par cryptorchild dans le forum Langage
    R�ponses: 3
    Dernier message: 04/10/2005, 15h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo