Afficher un bloc de texte onmouseover

LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 - 16 janv. 2006 à 13:51
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 - 17 janv. 2006 à 16:12
Bonjour ,



Je travaille sur un petit script qui doit ouvrir un fichier texte et en afficher le contenu,enfin certaines lignes...

j'affiche le message principal et un lien a chaque fois pour afficher les details

ceci est fait en javascript

voici a quoi ressemble mon fichier texte:

MSG

nombre de lignes pr details

---------

data1

data2

.....etc.....



MSG2

nbr lignes

-----------

data1

data2

etc..........



lorsque je test mon script pr le premier message ca marche a peu pres
bien(le seul probleme est que a l'initialisationde la page les details
s'affichent,alors qu'ils devraient pas!)



mais quand je test mon script sur l'ensemble du fichier txt,cad quand je fais une boucle while(!feof($fp))

ca fait n'importe quoi.....



voici mon code

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns= "http://www.w3.org/1999/xhtml" xml:lang="fr" >

<META http-equiv="Content-Type" content="text/html; charset=utf-8">

<head>

<script type="text/javascript">

function montre(id) {

var d = document.getElementById(id);

for (var i = 0; i<=10; i++)

{

if (document.getElementById('smenu'+i))

{document.getElementById('smenu'+i).style.display='none';}

}

if (d) {d.style.display='block';}

}

</script>

</head>



<title>Lecture de fichier</title>

<tr
bgcolor=\"lightblue\">LECTURE DE
FICHIER





<?php

$fp = fopen("DCS_traces.txt","r"); //ouverture du fichier DCS_trace.txt en lecture seule

$taille = fileSize("DCS_traces.txt"); //taille du fichier en octets

//while(!feof($fp)) //Tant que l'on est pas a la fin du fichier

//{

$msg = fgets($fp, 100);

echo"$msg
";

$nblignes = fgets($fp,3);

//echo"$nblignes";

$vide = fgets($fp,20);

//echo"$vide
";

$vide2 = fgets($fp,20);

//echo"$vide2
";

for($i=0;$i<$nblignes;$i++)

{

$buffer[$i] = fgets($fp,50);

}

$vide = fgets($fp,20);

// echo'
voir les valeurs
';

// echo"
";

?>




* voir les
valeurs :

<?php

for($i =0;$i<$nblignes;$i++)

{

echo\"<li>$buffer[$i]</li>\";

}

?>





<?php

//}

?>



</html>



j'espere avoir été le plus clair possible, posez moi des questions si ce n'est aps le cas :D



merci bcp.

14 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
16 janv. 2006 à 17:22
Hello Latata,

non je n'ai pas bien compris : "cela fait n'importe quoi"; c'est à dire ?
(tu as mis display: none; par défaut dans la css pour smenu1 ?)
0
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
17 janv. 2006 à 10:02
alors je me suis inspiré de mon menu déroulant qui s'affiche sur onmouseover...



voici a quoi ressemble mon fichier txt:



10/24/05 12:15:37<-- [COM to APP] NEXT WALKING BEAM MOVEMENT (2101) // message a afficher tjrs

4 //nb lignes a lire en dessous

---------

NU_FUR= 4 //ici les 4lignes a stocker et afficher sur onmouseover

WKB_STP=550

GAM_IND=0

ACT_USE=0



10/24/05 12:16:30<-- [COM to APP] NEXT WALKING BEAM MOVEMENT (2101)// message a afficher tjrs

4//nb lignes a lire en dessous

---------

NU_FUR=4
//ici les 4lignes a stocker et afficher sur onmouseover

WKB_STP=551

GAM_IND=0

ACT_USE=0


donc voila mon premier probleme est que si je fais le test juste pour le premier bloc

mon code va m'afficher

10/24/05 12:15:37<-- [COM to APP] NEXT WALKING BEAM MOVEMENT (2101)




* voir les valeurs :
<li>NU_FUR =4
</li><li>WKB_STP= 550
</li><li>GAM_IND=0
</li><li>ACT_USE=0</li>


or deja il devrait pas afficher les valeurs des le debut!

apres ca a l'air de marcher sur le passage de la souris sur voir les valeurs

Par contre si je mets mon while(!feof($fp)){}

il m'affiche tout mes messages ,toutes mes valeurs

et sur le onmouseover ca bouge dans tous les sens (des valeurs apparaissent ou pas mais jamais les bonnes )

mon resultat attendu serait un affichage comme ca:

10/24/05 12:15:37<-- [COM to APP] NEXT WALKING BEAM MOVEMENT (2101)




* voir les valeurs :


10/24/05 12:15:37<-- [COM to APP] NEXT WALKING BEAM MOVEMENT (2101)




<dt id ="menu1" onmouseover="javascript:montre('smenu1');" style="text-decoration: underline;">voir les valeurs


10/24/05 12:15:37<-- [COM to APP] NEXT WALKING BEAM MOVEMENT (2101)






* voir les valeurs : et lors du passage de la souris sur voir les valeurs que ca les montre pour le message correspondant!
<dt>tu vois mieux ?
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
17 janv. 2006 à 10:10
Doit y avoir un problème de id des menus.
Pour l'affichage, ton menu doit absolument être en display: none; dès le départ, par défaut.
0
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
17 janv. 2006 à 10:53
if (document.getElementById('smenu'+i))

{document.getElementById('smenu'+i).style.display='none';}



cette partie sert a ca non? dans ma fonction js?
0

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

Posez votre question
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
17 janv. 2006 à 11:20
Oui mais par défaut il sera visible.
0
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
17 janv. 2006 à 11:20
en fait t'as raison il y a deux problemes

1. l'affichage par défaut qui ne se fait pas comme je le veux

2. les id ,en fait tous mes blocs ont le meme id du coup!

comment on peut faire pour avoir smenu1,smenu2 etc....

en js on peut faire 'smenu'+i mais en php?html?
0
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
17 janv. 2006 à 11:25
ok mais comment dire par defaut non visible?

pourtant j'utilise la meme chose pr mon menu deroulant

et par defaut c'est invisible.....
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
17 janv. 2006 à 12:09
ben 'smenu'.$i ? ;-)
Tu construits ça dans une boucle, quoi, en incrémentant un compteur.
0
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
17 janv. 2006 à 13:11
deja je comprends pas pourquoi il affiche les valeurs par defaut

et si je fais ca:

?php

$fp = fopen("DCS_traces.txt","r"); //ouverture du fichier DCS_trace.txt en lecture seule

$taille = fileSize("DCS_traces.txt"); //taille du fichier en octets

while(!feof($fp)) //Tant que l'on est pas a la fin du fichier

{

$j=0;

$msg = fgets($fp, 100);

echo"$msg
";

$nblignes = fgets($fp,3);

//echo"$nblignes";

$vide = fgets($fp,20);

//echo"$vide
";

$vide2 = fgets($fp,20);

//echo"$vide2
";

for($i=0;$i<$nblignes;$i++)

{

$buffer[$i] = fgets($fp,50);

}

$vide = fgets($fp,20);

?>




<? echo' * voir les valeurs :

';

for($i =0;$i<$nblignes;$i++)

{

echo\"<li>$buffer[$i]</li>\";

}

?>





<?php

$j++;

}

?>



bah il affiche tout (messages et valeurs) et rien en se passe au passage de la souris!
0
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
17 janv. 2006 à 13:24
autant pour moi j'ai changer les + par des .$j

et ..............pareil!



t'aurais jamais fait un truc du genre malalam?

ca me derange pas de tout refaire d'une autre maniere

si il le faut
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
17 janv. 2006 à 13:58
Bon, sur tes éléments, tu vires ta fonction et tu fais :

onmouseover="this.style.display='block';"
onmouseout="this.style.display='none';"
0
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
17 janv. 2006 à 15:56
re,

j'ai viré mon js avec la fonction et fait ca:



* voir les valeurs :

<?php

for($i=0;$i<$nblignes;$i++)

{

echo\"<li>$buffer[$i]</li>\";

}

?>





le resultat est que tout s'affiche de base et lors du passage de la souris sur valeurs les valeurs disparaissent

mais ne se réaffiche jamais....
0
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
17 janv. 2006 à 16:01
je crois que c'est sur le dt le probleme

il faut dire onmouseover display block de smenu1

et pas ca doit etre un truc du genre getelementbyid(smenu1).display enfin je crois.......



un peu flou pr moi ces apelations JS
0
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
17 janv. 2006 à 16:12
modification par:






<?php echo\" * voir les valeurs :

\";

for($i=0;$i<$nblignes;$i++)

{

echo\"<li>$buffer[$i]</li>\";

}

?>





<?php

$j++;}

?>

et ca marche pas

tjrs meme chose:
le resultat est que tout s'affiche de base et lors du passage de la souris sur valeurs les valeurs disparaissent

mais ne se réaffiche jamais....
0
Rejoignez-nous