problèmes d'affichage en couches. [JavaScript] - Programmation
Marsh Posté le 23-01-2001 à 10:11:42
le code HTML (réduit):
j'espère que les smileys ne vont pas apparaître...
pour détecter le survol:
<a href="javascript:void()" onMouseOver="pop('Note à afficher pour aider l'utilisateur.';return true;" onmouseout="kill()"><img src="./bulle.png" border="0"></a>
le Javascript (c'est normal que cela ne marche pas pour netscape car je l'ai déplacé du IF):
var nav = (document.layers); var iex = (document.all);
var skn = (nav) ? document.topdeck : topdeck.style;
if (nav) document.captureEvents(Event.MOUSEMOVE);
document.onmousemove = get_mouse;
function pop(msg) {
var title="Aide:";
var bak="#f9c770";
var border="#f44018";
var fontTitle="#555555";
var fontText="#555555";
var content = "<table width=200 border=0 cellpading=0 cellspacing=0 bgcolor="+bak+" style=" border-left: thin dotted; border-left-color:"+border+"; border-top: thin dotted; border-top-color: "+border+"; border-right: thin dotted; border-right-color:"+border+"; border-bottom: thin dotted; border-bottom-color: "+border+";"><tr><td style="font-family: verdana, helvetica,sans-serif; margin-left: .5in; font-size: 7pt; vertical-align: top;">"+title+"</td></tr><tr><td style="font-family: verdana, helvetica,sans-serif;font-size: 7pt;">"+msg+"</td></tr></table>";
if (iex) { document.all("topdeck" ).innerHTML = content;
skn.visibility = "visible";
window.status=' ';
}
else
{
window.status=msg;
}
}
function get_mouse(e) {
var x = (nav) ? e.pageX : event.x+document.body.scrollLeft; var y = (nav) ? e.pageY : event.y+document.body.scrollTop;
skn.left = x;
skn.top = y+20;
}
function kill() {
skn.visibility = "hidden";
window.status="";
}
Note: msg est le String que je passe en arg. qui contient le message à afficher dans la bulle
--Message édité par TBone--
Marsh Posté le 23-01-2001 à 10:47:50
l'ajout de skn.zIndex = une_valeur; ne change rien... j'ai mis 0, 10 et 100... et cela ne joue en rien...
tjs personne ?
Marsh Posté le 23-01-2001 à 15:21:26
Ben, la seule chose que je peut te dire, c'est...
Les smileys apparraissent bien dans ton code... D:D
Marsh Posté le 23-01-2001 à 15:25:45
je m'attendais pas à ça comme réponse, mais au moins j'ai une réponse...
c'est quand même pas inhumain comme question... je pensais que les as allaient pouvoir m'indiquer une direction générale...
bah! je vais continer mes recherches...
Marsh Posté le 23-01-2001 à 16:55:03
en fait c'est pour éviter ceci que j'ai besoin d'une aide:
le fond est à changer... D
--Message édité par TBone--
Marsh Posté le 23-01-2001 à 17:12:37
Il est deux catégories de fous qui vont te répondre : ceux qui vont te dire qu'il faut masquer les comboboxes, comme Kro$oft le fait lui-même (j'ai oublié l'adresse ou ça se voit vraiment) et ceux qui vont te dire qu'il ne faut pas le mettre dans un layer mais dans une iframe... Si tu reçois une solution "plus souple", je suis prenneur aussi...
Marsh Posté le 23-01-2001 à 17:13:43
jette un oeil ici:
http://forum.hardware.fr/sqlforum/ [...] 090&cat=10
Marsh Posté le 24-01-2001 à 08:48:06
merchi pour les réponses...
pas très simple tout ça...
j'expérimente et vous en parle après
Marsh Posté le 24-01-2001 à 11:32:56
marche pô...
je suis allé lire le post en lien. j'ai lu la doc de IFRAME dans la référence HTML de W3C mais je ne vois pas en quoi cela peut m'aider...
cela étant, mes recherches ayant avancé un pneu, il me suffit normalement d'expliquer au brouteur qu'il doit afficher ma bulle dans un layer au-dessus du layer de l'élément < SELECT >.
1°) comment connaître la "hauteur" de < SELECT >,
2°) après il suffirait d'incrémenter cette valeur et de l'assigner à la "hauteur" du layer de la bulless
mais comment ?
Marsh Posté le 24-01-2001 à 14:12:16
Le plus petit tooltip du monde : pas besoin de DIV, de calculer l'emplacement des comboboxes, etc etc
Remplace le texte par une image, et chauffe Marcel !
PS : ca marche que sur IE, mais a peu de frais ca marche sur NN aussi
<html> <body>
<a href="toto" onMouseover="this.title='Devant le prisu'">Ta mère en bob</a>
</body>
</html>
--Message édité par Gonzoïde--
Marsh Posté le 24-01-2001 à 16:08:04
je ne peux malheureusement... car les textes proviennent de documents XML...
Marsh Posté le 24-01-2001 à 16:13:19
j'ai pas du tout comprendre c'est après que ça a tilté... (trop lourdes ces pâtes bolo...)
Il y a mieux que ça il suffit de prendre ton code avec ta mère !
...
<td>
<a href="javascript:void()" onMouseover="this.title='Note à afficher pour aider l'utilisateur.'">
<img src="./bulle.png" border="0">
</a>
</td>
...
mais peut-on accélérer la vitesse d'apparition du tooltip ?
--Message édité par TBone--
Marsh Posté le 24-01-2001 à 16:16:52
ouairf ouairf ouairf... ça marche pô du tout avec Netscape...
je vais bidouiller un pneu.
Marsh Posté le 23-01-2001 à 10:07:36
salut,
je dois afficher une bulle d'aide lors du survol d'une image.
l'exemple est ici: http://tbonefox.free.fr/javascript/test.html
(j'affiche le code dans un post suivant)
je joue donc avec onmouseover="" pour détecter le survol (et donc afficher la bulle) et onmouseout="" pour détecter la sortie de la souris de l'image (pour effacer ma bulle).
ça marche plutôt bien MAIS :
- il faut que cela fonctionne pour IE ET Netscape. (un moindre problème pour l'instant)
- il faut surtout que j'affiche la bulle sur le layer le plus haut! car si l'image est trop près d'un <input> (Netscape) ou un <select> (IE) cela ne fonctionne pas... la bulle passe en-dessous de l'<input> ou <select>...
je voudrais juste savoir comment on joue sur la hauteur du layer et si vous aveez des sites de bouquin en ligne sur JavaScript car les sites que j'ai ne sont pas trop bien foutus...
qq'un peut-il m'aider ?