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 :

Faire un lien sur un bandeau défilant


Sujet :

JavaScript

  1. #1
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 382
    Points : 5 732
    Points
    5 732
    Billets dans le blog
    1
    Par défaut Faire un lien sur un bandeau défilant
    Bonjour,

    j'ai un script qui réalise un texte défilant, mais je voudrais rajouter un lien dessus. Je ne sais si c'est possible et comment faire. Voici le script (archaïque, paraît-il) :
    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    <script language="JavaScript1.2">
    /*
    Cross browser Marquee script- © Dynamic Drive (www.dynamicdrive.com)
    For full source code, 100's more DHTML scripts, and Terms Of Use, visit http://www.dynamicdrive.com
    Credit MUST stay intact
    */
    //Specify the marquee's width (in pixels)
    var marqueewidth="950px"
    //Specify the marquee's height
    var marqueeheight="40px"
    //Specify the marquee's marquee speed (larger is faster 1-10)
    var marqueespeed=1
    //configure background color:
    var marqueebgcolor="yellow"
    //Pause marquee onMousever (0=no. 1=yes)?
    var pauseit=1
    //Specify the marquee's content (don't delete <nobr> tag)
    //Keep all content on ONE line, and backslash any single quotations (ie: that\'s great):
    var mon_texte='Bienvenue sur le site de Vercors-Canyon Escalade';
    var marqueecontent='<nobr><b><font face=Arial color=red size=6>' + mon_texte + '</font></b></nobr>'
    ////NO NEED TO EDIT BELOW THIS LINE////////////
    marqueespeed=(document.all)? marqueespeed : Math.max(1, marqueespeed-1) //slow speed down by 1 for NS
    var copyspeed=marqueespeed
    var pausespeed=(pauseit==0)? copyspeed: 0
    var iedom=document.all||document.getElementById
    if (iedom)
    document.write('<span id="temp" style="visibility:hidden;position:absolute;top:-200px;left:-9000px">'+marqueecontent+'</span>')
    var actualwidth=''
    var cross_marquee, ns_marquee
    function populate(){
    if (iedom){
    cross_marquee=document.getElementById? document.getElementById("iemarquee") : document.all.iemarquee
    cross_marquee.style.left=parseInt(marqueewidth)+8+"px"
    cross_marquee.innerHTML=marqueecontent
    actualwidth=document.all? temp.offsetWidth : document.getElementById("temp").offsetWidth
    }
    else if (document.layers){
    ns_marquee=document.ns_marquee.document.ns_marquee2
    ns_marquee.left=parseInt(marqueewidth)+8
    ns_marquee.document.write(marqueecontent)
    ns_marquee.document.close()
    actualwidth=ns_marquee.document.width
    }
    lefttime=setInterval("scrollmarquee()",10)
    }
    window.onload=populate
    function scrollmarquee(){
    if (iedom){
    if (parseInt(cross_marquee.style.left)>(actualwidth*(-1)+8))
    cross_marquee.style.left=parseInt(cross_marquee.style.left)-copyspeed+"px"
    else
    cross_marquee.style.left=parseInt(marqueewidth)+8+"px"
    }
    else if (document.layers){
    if (ns_marquee.left>(actualwidth*(-1)+8))
    ns_marquee.left-=copyspeed
    else
    ns_marquee.left=parseInt(marqueewidth)+8
    }
    }
    if (iedom||document.layers){
    with (document){
    document.write('<table border="0" cellspacing="0" cellpadding="0"><td>')
    var position1 = (marqueewidth)+350+"px"
    // width:'+position1+';
    if (iedom){
    write('<div style="position:relative;width:'+marqueewidth+';height:'+marqueeheight+';overflow:hidden;background-color:'+marqueebgcolor+'">')
    // write('<div style="position:absolute;height:'+marqueeheight+';background-color:'+marqueebgcolor+'" onMouseover="copyspeed=pausespeed" onMouseout="copyspeed=marqueespeed">')
    write('<div id="iemarquee" style="position:absolute;left:0px;top:0px"></div>')
    write('</div></div>')
    }
    else if (document.layers){
    write('<ilayer width='+marqueewidth+' height='+marqueeheight+' name="ns_marquee" bgColor='+marqueebgcolor+'>')
    write('<layer name="ns_marquee2" left=0 top=0 onMouseover="copyspeed=pausespeed" onMouseout="copyspeed=marqueespeed"></layer>')
    write('</ilayer>')
    }
    document.write('</td></table>')
    }
    }
    </script>
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  2. #2
    Expert éminent sénior

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

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 912
    Points
    79 912
    Par défaut
    Bonjour,

    Ce qui m'étonne c'est de voir la méthode write. :o
    Sinon je ne comprends pas bien votre question. Vous désirez voir apparaitre un lien (sur un couple de mot) dans le texte ou bien que l'ensemble du texte réagisse comme un lien ?

  3. #3
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 382
    Points : 5 732
    Points
    5 732
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    je voudrais que l'ensemble du texte réagisse comme un lien. Et ce script a beau être bizarre, il marche... et entre temps, on m'a donné un autre script qui répond à mes attentes sauf que le défilement est vertical au lieu d'être horizontal (si vous préférez ce script pour trouver à le rendre horizontal, voilà son code (j'ai mis la pause à 0 secondes, sinon on s'arrête quand le mot est présent) :
    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    <script language="JavaScript1.2">
    /*
    SCRIPT EDITE SUR L'EDITEUR JAVASCRIPT
    */
    ejs_scroll_largeur = 300;
    ejs_scroll_hauteur = 20;
    ejs_scroll_bgcolor = '#FFFF00';
    /* Mettre ici le chemin de l'image de fond */
    ejs_scroll_background = "";
    /* Mettre ici le temps en secondes */
    ejs_scroll_pause_seconde = 0;
    ejs_scroll_message = new Array;
    ejs_scroll_message[0]='<a href="http://www.google.com" target="_blank" class="ejs_scroll">coucou</a>';
    function d(texte)
    {
    document.write(texte);
    }
    d('<DIV ID=ejs_scroll_relativ STYLE="position:relative;width:'+ejs_scroll_largeur+';height:'+ejs_scroll_hauteur+';background-color:'+ejs_scroll_bgcolor+';background-image:url('+ejs_scroll_background+')">');
    d('<DIV ID=ejs_scroll_cadre STYLE="position:absolute;width:'+(ejs_scroll_largeur-8)+';height:'+(ejs_scroll_hauteur-8)+';top:4;left:4;clip:rect(0 '+(ejs_scroll_largeur-8)+' '+(ejs_scroll_hauteur-8)+' 0)">');
    d('<div id=ejs_scroller_1 style="position:absolute;width:'+(ejs_scroll_largeur-8)+';left:0;top:0;" CLASS=ejs_scroll>'+ejs_scroll_message[0]+'</DIV>');
    d('<div id=ejs_scroller_2 style="position:absolute;width:'+(ejs_scroll_largeur-8)+';left:0;top:'+ejs_scroll_hauteur+';" CLASS=ejs_scroll>'+ejs_scroll_message[1]+'</DIV>');
    d('</DIV></DIV>');
    ejs_scroll_mode =1;
    ejs_scroll_actuel = 0;
    function ejs_scroll_start()
    {
    if(ejs_scroll_mode == 1)
    {
    ejs_scroller_haut = "ejs_scroller_1";
    ejs_scroller_bas = "ejs_scroller_2";
    ejs_scroll_mode = 0;
    }
    else
    {
    ejs_scroller_bas = "ejs_scroller_1";
    ejs_scroller_haut = "ejs_scroller_2";
    ejs_scroll_mode = 1;
    }
    ejs_scroll_nb_message = ejs_scroll_message.length-1;
    if(ejs_scroll_actuel == ejs_scroll_nb_message)
    ejs_scroll_suivant = 0;
    else
    ejs_scroll_suivant = ejs_scroll_actuel+1;
    if(document.getElementById)
    document.getElementById(ejs_scroller_bas).innerHTML = ejs_scroll_message[ejs_scroll_suivant];
    ejs_scroll_top = 0;
    if(document.getElementById)
    setTimeout("ejs_scroll_action()",ejs_scroll_pause_seconde*1000)
    }
    function ejs_scroll_action()
    {
    ejs_scroll_top -= 1;
    document.getElementById(ejs_scroller_haut).style.top = ejs_scroll_top;
    document.getElementById(ejs_scroller_bas).style.top = ejs_scroll_top+ejs_scroll_hauteur;
    if((ejs_scroll_top+ejs_scroll_hauteur) > 0)
    setTimeout("ejs_scroll_action()",40)
    else
    ejs_scroll_stop()
    }
    function ejs_scroll_stop()
    {
    ejs_scroll_actuel = ejs_scroll_suivant;
    ejs_scroll_start()
    }
    window.onload = ejs_scroll_start;
    </script>
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  4. #4
    Expert éminent sénior

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

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 912
    Points
    79 912
    Par défaut
    A froid là comme ça j'ai changé deux valeurs, épuré le if et supprimé une ligne. Reste à repenser la fin car évidemment ici la chaine se stoppe.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function ejs_scroll_action()
    {
    ejs_scroll_top -= 1;
    document.getElementById(ejs_scroller_haut).style.left = ejs_scroll_top;
    //document.getElementById(ejs_scroller_bas).style.top = ejs_scroll_top+ejs_scroll_hauteur;
    if(ejs_scroll_top > 0)
    setTimeout("ejs_scroll_action()",40)
    else
    ejs_scroll_stop()
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ejs_scroll_top = 100;

  5. #5
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 382
    Points : 5 732
    Points
    5 732
    Billets dans le blog
    1
    Par défaut
    Désolé mais le défilement est encore vertical. De plus, bien que n'étant pas le roi du js, je trouve bizarre cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById(ejs_scroller_haut).style.left = ejs_scroll_top;
    (qui utilise encore ejs_scroll_top) et le test qui suit porte aussi sur cette variable...
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  6. #6
    Expert éminent sénior

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

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 912
    Points
    79 912
    Par défaut
    Je n'ai pas changé le nom des variables.

    Bon, j'arrive à ceci mais je ne comprends pas pourquoi une pause de 4 secondes et il faudrait obtenir les valeurs automatiquement car là je les ai mises en dur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    function ejs_scroll_action2()
    {
       ejs_scroll_top -= 1;
       document.getElementById(ejs_scroller_haut).style.left = ejs_scroll_top;
       if(ejs_scroll_top > -60)
          setTimeout("ejs_scroll_action2()",40)
       else
       {
          document.getElementById(ejs_scroller_haut).style.left = 20;
          ejs_scroll_top = 20;
          ejs_scroll_start();
       }
    }

  7. #7
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 382
    Points : 5 732
    Points
    5 732
    Billets dans le blog
    1
    Par défaut
    Merci d'y avoir passé du temps, mais on m'a donné un autre script qui fait exactement ce que je voudrais (je ne l'ai pas encore mis en ligne) :
    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
    <style type="text/css">
    .txt_defil {font-size:11px;font-family:Verdana;color:#000000;;text-decoration:none}
    .txt_defil:link {font-size:11px;font-family:Verdana;color:#FFFFFF;;text-decoration:none}
    .txt_defil:visited {font-size:11px;font-family:Verdana;color:#FFFFFF;;text-decoration:none}
    .txt_defil:hover {font-size:11px;font-family:Verdana;color:#FFCCFF;;text-decoration:underline}
    </style>
    <script language="JavaScript"> <!--
    //PLF - http://www.jejavascript.net/
    var txt_defil_width = 450; //largeur
    var txt_defil_height = 50; //hauteur
    var txt_defil_bgcolor = '#9966FF'; //couleur de fond
    var txt_defil_background = ""; //image de fond
    var txt_defil_info = new Array;
    txt_defil_info[0]='<a href="http://www.google.com" target="_blank" CLASS=txt_defil>bla bla</a>';
    //-->
    </script>
    <script language="JavaScript" src="textdefil_ho1.js"></script>
    avec textdefil_ho1.js :
    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    //PLF - http://www.jejavascript.net/
    function writext(texdef)
    	{
    	document.write(texdef);
    	}
     
    writext('<DIV ID=txt_defil_relativ onMouseOver="txt_defil_stop()" onMouseOut="txt_defil_rstart()" STYLE="position:relative;width:'+txt_defil_width +';height:'+txt_defil_height+';background-color:'+txt_defil_bgcolor+';background-image:url('+txt_defil_background+')">');
    writext('<DIV ID=txt_defil_cadre STYLE="position:absolute;width:'+(txt_defil_width -8)+';height:'+(txt_defil_height-8)+';top:4;left:4;clip:rect(0 '+(txt_defil_width -8)+' '+(txt_defil_height-8)+' 0)">');
    writext('<div id=txt_defiler_1 style="position:absolute;width:'+(txt_defil_width -8)+';left:0;top:0;" CLASS=txt_defil >'+txt_defil_info[0]+'</DIV>');
    writext('<div id=txt_defiler_2 style="position:absolute;width:'+(txt_defil_width -8)+';left:'+txt_defil_width+';top:0;" CLASS=txt_defil >'+txt_defil_info[1]+'</DIV>');
    writext('</DIV></DIV>');
     
    txt_defil_1 =1;
    txt_defil_2 = 0;
    stop_mouss=0;
     
    function txt_defil_f1()
    	{
    	if(txt_defil_1 == 1) 
    		{
    		txt_defil_haut = "txt_defiler_1";
    		txt_defil_bas = "txt_defiler_2";
    		txt_defil_1 = 0;
    		}
    	else
    		{
    		txt_defil_bas = "txt_defiler_1";
    		txt_defil_haut = "txt_defiler_2";
    		txt_defil_1 = 1;
    		}
    	txt_defil_nb_info = txt_defil_info.length-1; 
    	if(txt_defil_2 == txt_defil_nb_info)
    		txt_defil_next = 0;
    	else
    		txt_defil_next = txt_defil_2+1;
     
    	if(document.getElementById)
    		document.getElementById(txt_defil_bas).innerHTML = txt_defil_info[txt_defil_next];
    	txt_defil_left = 0;
    	if(document.getElementById)
    	txt_defil_f2 ()
    	}
     
    function txt_defil_f2 ()
    	{
    if (stop_mouss == 0)
    {	
    	txt_defil_left -= 2;
    	document.getElementById(txt_defil_haut).style.left = txt_defil_left;
    	document.getElementById(txt_defil_bas).style.left = txt_defil_left+txt_defil_width;
    	if((txt_defil_left+txt_defil_width) > 0)
    	move2=setTimeout("txt_defil_f2 ()",5)
    	else
    		txt_defil_f3()
    }
    else	move1=setTimeout("txt_defil_f2 ()",1000)	
    	}
     
    function txt_defil_f3()
    	{
    	txt_defil_2 = txt_defil_next;
    	txt_defil_f1()
    	}
    function txt_defil_stop()
    	{
    	stop_mouss=1;
    	}
    function txt_defil_rstart()
    	{
    	stop_mouss=0;
    	}		
    window.onload = txt_defil_f1;
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lien sur un bandeau défilant
    Par laurentSc dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 14/03/2010, 16h36
  2. Faire un lien sur une bannière
    Par angelcath2003 dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 07/07/2008, 11h50
  3. faire un lien sur une colonne
    Par astrolane dans le forum Excel
    Réponses: 3
    Dernier message: 21/05/2008, 14h20
  4. [HTML] comment faire un lien sur un bouton en HTML
    Par info_plus dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 05/07/2007, 14h53
  5. [FLASH MX] Comment faire un lien sur un bouton flash ?
    Par matthieu le degeu dans le forum Flash
    Réponses: 1
    Dernier message: 26/07/2006, 09h34

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