Affichier un texte avec la position X et Y

bshaka Messages postés 22 Date d'inscription mercredi 11 avril 2007 Statut Membre Dernière intervention 17 juin 2008 - 11 avril 2008 à 10:40
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 - 11 avril 2008 à 15:59
Bonjour à tous,

j'ai trouvé sur le web cette fonction qui affiche date et heure à une position x et y, pour l'appeler, je fais :
InitHorloge(265,56,"font-family:times New Roman;font-size:25px;font-weight:bold;color:#006600");

Cette fonction marche bien, personnellement, je cherche à la modifier pour faire une fonction générale qui permet d'afficher un texte à une position x et y, comme function disp_txt (txt, X, Y, CSS).

Pourriez vous m'aider svp ? je suis débutant en JS.
Merci





<SCRIPT LANGUAGE="JavaScript">
var H=new Object;
function AffHorloge() {
 var d=new Date();
 var heure=d.getHours();
 var min=d.getMinutes();
 var sec=d.getSeconds();
 if (heure<10) heure="0"+heure;
 if (min<10) min="0"+min;
 if (sec<10) sec="0"+sec;
 contenu=""+heure+":"+min+":"+sec+"";


 if (document.layers) {
  document.layers["horloge"].document.write(contenu);
  document.layers["horloge"].document.close();
 }
 if (document.all) {horloge.innerHTML=contenu;}
 setTimeout("AffHorloge()",1000);
}


function InitHorloge(X,Y,CSS) {
 H.CSS=CSS;H.X=X;H.Y=Y;
 if (document.all) {
  document.write("

");
  AffHorloge();
 }
 if (document.layers) {
  document.write("<LAYER name='horloge' top='"+Y+"' left='"+X+"' visibility='show'></LAYER>");
  setTimeout('AffHorloge()',200);
 }
}
</SCRIPT>

8 réponses

maelob Messages postés 943 Date d'inscription mardi 14 novembre 2006 Statut Membre Dernière intervention 7 août 2009 3
11 avril 2008 à 10:51
Bonjour,

Tu as un peu la réponse dans ta question (je dis ça je dis rien..)

Ta fonction initHorloge permet de placer ton horloge à un position x et y alors pourquoi ne te sers tu pas de ça pour essayer de faire ce que tu veux faire?

<hr size="2" width="100%" />
Maelo ou Elo --> Mon blog
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
11 avril 2008 à 10:59
Salut,

pourquoi repose tu ton sujet alors que tu en a posé un identique un peu avant ???

http://www.javascriptfr.com/infomsg_AFFICHER-TEXTE-AVEC_1110102.aspx#2

Si t'a besoin d'aide, MP !!!
0
maelob Messages postés 943 Date d'inscription mardi 14 novembre 2006 Statut Membre Dernière intervention 7 août 2009 3
11 avril 2008 à 11:05
Parce qu'on lui as dis de venir ici et que son sujet à été déplacé apparement.

Sinon bul a eu la même réaction que moi on dirait

[bul]

Bonjour,

   >>d'afficher un texte à une position x et y,
   rien compris... c'est pas ce que ça fait ?
   ( même s'il eut mieux valu éviter les document.write ) 

/bul

<hr size="2" width="100%" />
Maelo ou Elo --> Mon blog
0
bshaka Messages postés 22 Date d'inscription mercredi 11 avril 2007 Statut Membre Dernière intervention 17 juin 2008
11 avril 2008 à 11:15
Merci de vos réponses,

J'ai reposté le message ici parsque hier qq m'a demandé de changé de thème.
comme c'est indiqué dans mon message, je suis débutant, j'ai essayé pendant presque une journée à faire cette fonction comme suivant :

<SCRIPT LANGUAGE="JavaScript">
var M=new Object;
function disp_txt (txt, X, Y, CSS)
{
 M.CSS=CSS;M.X=X;M.Y=Y;
 document.write("<LAYER name='horloge' top='"+Y+"' left='"+X+"' visibility='show'>"+txt+"</LAYER>");
 document.write("
"+txt+"
");
 contenu=""+txt+"";
 document.layers["horloge"].document.write(contenu);
 document.layers["horloge"].document.close();
}


</SCRIPT> 

<script type='text/javascript'>
<!--
 disp_txt ('Chaine de texte ....', 300, 300, "font-family:times New Roman;font-size:25px;font-weight:bold;color:#006600");
//-->
</SCRIPT>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
maelob Messages postés 943 Date d'inscription mardi 14 novembre 2006 Statut Membre Dernière intervention 7 août 2009 3
11 avril 2008 à 11:22
 document.write("<LAYER name='horloge' top='"+Y+"' left='"+X+"' visibility='show'>"+txt+"</LAYER>");
 document.write("
"+txt+"
");

C'est bien tu as fais fais quelque chose de pas mal mais comme tu la vu il y LA difference entre ces 2 lignes qui fais que la première ne fonctionne pas ;-)

Ton top et ton left doivent être dans l'attribut style de ton layer donc :
<LAYER name='horloge' style='top:"+Y+"; left:"+X+";>"+txt+"</LAYER> et visibility y'en a pas besoin

De plus pour visibility il me semble qu'il y a block et hidden mais pas de show (à verifier)

<hr size="2" width="100%" />
Maelo ou Elo --> Mon blog
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 16
11 avril 2008 à 14:52
Bonjour à tou(te)s,  
<table bgcolor="#e6effe" border="0" cellpadding="5" cellspacing="0" width="100%">----, De plus pour visibility il me semble qu'il y a
block et hidden mais pas de show (à
verifier)</td>
</td></tr></tbody></table>

Objet.style.visibility = "hidden    // le contenu n'est pas affiché à l'écran
Objet.style.visibility = "visible"; // je te laisse deviner
ne pas confondre avec display
Objet.style.display = "block";  // affichage par block, passe à la ligne si pas de position précisée
Objet.style.display = "inline"; // affichage en enfilade
Objet.style.display = "none";   // pas d'affichage et aussi pas d'espace occupé dans le document
pour les plus
connus...

quant à la balise LAYER laisse tomber exclusif NetScape 4, je devrais dire feu NetScape 4

dernière précision, pense à mettre l'unité avec les valeurs dans les styles
document.write( "
px;left:" +X +"px; visibility:visible'>" +txt +"
");
 
;O)
0
maelob Messages postés 943 Date d'inscription mardi 14 novembre 2006 Statut Membre Dernière intervention 7 août 2009 3
11 avril 2008 à 15:04
Oulala merci d'être la petoleTeam je suis confuse

Pour le display et visibility j'étais pas sure et heureusement lol. mais pour avoir oublié les pixels je n'ai pas d'excuse.. (cette honte!!!)

<hr size="2" width="100%" />
Maelo ou Elo --> Mon blog

Si quelqu'un vous dit : "Je me tue à vous le répéter", laissez-le mourir. (Jacques Prévert)
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 16
11 avril 2008 à 15:59
Re...j'en avais zappée la question de départ de bshaka
<table bgcolor= "#e6effe" border="0" cellpadding="5" cellspacing="0" width="100%">----, je suis débutant en
JS</td>
</td></tr></tbody></table>on l'a tous été,
voir printemps OUAF!!!!
 
<table bgcolor="#e6effe" border="0" cellpadding="5" cellspacing="0" width="100%">----, je cherche à la modifier pour faire une
fonction générale qui permet d'afficher un texte à une position x et
y</td>
</td></tr></tbody></table>Le principe dans
ces grandes lignes

1/ création d'un DIV, par exemple, en position absolute,
pour pouvoir le déplacer. Dans le document il faut donc entre les balises
et un truc du style...








2/ pour obtenir, afin
d'utilisation, ce DIV on recours à la méthode getElementById du document en
donnant en paramètre l'ID de celui ci

var O_Text  = document.getElementById( 'D_TXT');


 
3/ Pour modifier le contenu de ce DIV on utilise la propriété
innerHTML de celui ci

O_Text.inerHTML =  "Le texte a afficher...";





4/
Pour déplacer le DIV on joue avec les propriétés left et top du style du DIV


O_Text.style.left  = "120px"; // place à 120 pixels du bord gauche
O_Text.style.top  =  "200px"; // place à 200 pixels du bord haut




5/ En final la
fonction peut ce résumer comme ceci

function Show_Text( div_, txt_, x_, y_){
  var O_Text  = document.getElementById( div_);
  O_Text.inerHTML =  txt_;
  O_Text.style.left = x_ +"px";
  O_Text.style.top = y_ +"px";





voila espérant avoir été clair...


Pour maelob ,
<table bgcolor ="#e6effe" border="0" cellpadding="5" cellspacing="0" width="100%">----, je suis
confuse</td>
</td></tr></tbody></table>ne
t'arrêtes surtout pas à trois lettres, continues...






;O)
0