reservé a alex ! [PRIVATE MSG] - Programmation
Marsh Posté le 18-05-2001 à 15:01:10
bon je te met le script dont je te parlais tou ta l'heure tu prends ce qui t'interesse ;o) ..allez c cadeau !!! héhé
function get_mouse(e)
{
ns4 = (document.layers)? true:false; //si le navigateur est Netscape Navigator 4
ie4 = (document.all)? true:false; // si le navigateur est Internet Explorer 4
dom = (document.getElementById)? true:false; //si le navigateur est Navigator 6 ou Explorer 5
var x = (ns4) ? e.pageX : event.x+document.body.scrollLeft;
var y = (ns4) ? e.pageY : event.y+document.body.scrollTop;
if (dom)
{
document.getElementById('pop').style.left= x-90;
document.getElementById('pop').style.top=y+20;
}
else if (ns4)
{
document.pop.top = y+20 ;
document.pop.left = x-90;
}
else if (ie4)
{
document.all("pop" ).style.left = x-90;
document.all("pop" ).style.top = y+20;
}
}
function popup(msg,titre)
{
ns4 = (document.layers)? true:false; //si le navigateur est Netscape Navigator 4
ie4 = (document.all)? true:false; // si le navigateur est Internet Explorer 4
dom = (document.getElementById)? true:false; //si le navigateur est Navigator 6 ou Explorer 5
if (ns4) document.captureEvents(Event.MOUSEMOVE);
document.onmousemove = get_mouse;
var txt = "<TABLE WIDTH=180 BORDER=0 CELLPADDING=2 CELLSPACING=0 BGCOLOR=#004488><TR><TD><TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=0 BGCOLOR=#004488><TR><TD><CENTER><FONT FACE=ARIAL COLOR=#00ccff SIZE=2><B>"+titre+"</B></FONT></CENTER></TD></TR></TABLE><TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0 BGCOLOR=#00ccff><TR><TD><FONT FACE=ARIAL COLOR=#004488 SIZE=1><CENTER>"+msg+"</CENTER></FONT></TD></TR></TABLE></TD></TR></TABLE>";
if (dom) {
document.getElementById('pop').style.visibility = "visible";
document.getElementById('pop').innerHTML=txt;
}
else if (ie4)
{
document.all("pop" ).innerHTML= txt;
document.all("pop" ).style.visibility ="visible";
}
else if (ns4)
{
document.pop.document.write(txt);
document.pop.document.close();
document.pop.visibility = "visible";
}
}
Marsh Posté le 18-05-2001 à 15:01:58
non non mais je veux juste savoir comment recuprer la position de la sourie !
Marsh Posté le 18-05-2001 à 15:20:50
ben oui c justement ce que je t'ai mis....t'as que enlever les lignes en trop dont t'as rien a fouttre, mais entre autres il recupere les positions souris le scripts. :
bon en enlevant les trucs inutiles :
function get_mouse(e)
{
ns4 = (document.layers)? true:false; //si le navigateur est Netscape Navigator 4
ie4 = (document.all)? true:false; // si le navigateur est Internet Explorer 4
dom = (document.getElementById)? true:false; //si le navigateur est Navigator 6 ou Explorer 5
var x = (ns4) ? e.pageX : event.x+document.body.scrollLeft;
var y = (ns4) ? e.pageY : event.y+document.body.scrollTop;
...
}
function popup(msg,titre)
{
ns4 = (document.layers)? true:false; //si le navigateur est Netscape Navigator 4
ie4 = (document.all)? true:false; // si le navigateur est Internet Explorer 4
dom = (document.getElementById)? true:false; //si le navigateur est Navigator 6 ou Explorer 5
if (ns4) document.captureEvents(Event.MOUSEMOVE);
document.onmousemove = get_mouse;
...
}
Marsh Posté le 18-05-2001 à 15:25:25
c bizarre ça marche pas.
tu peux m'expliquer comment tu fais ?
parce que en faisant event.x ça marche pas ?
tiens d'ailleurs c quoi document.body.scrollLeft et top ?
Marsh Posté le 18-05-2001 à 15:55:14
la fonction popup appelle la fonction get_mouse a chaque fois que la souris bouge.
if (ns4) document.captureEvents(Event.MOUSEMOVE); //ca faut le mettre parce que netscape 4 en a besoin.
document.onmousemove = get_mouse; //la il appelle la fonction
et ensuite je recupere la velaur de la souris dans get_mouse mais apres comme x et y sont local a get_mouse, faut les appeler dans get_mouse.
event.x ...ben c une propriete de IE et du W3C. qu renvoie la position par rapport à l'element positionné ou du body dans ce cas .
Et scrollLeft c'est le nombre de pixel physque qui separe le body du bord de la fenetre.
voila donc la somme des deux ca fait le bon truc !!
et c koi qui marche pas chez toi?? moi ca marche partout pourtant, tu l'emploi comment? balance le code
Marsh Posté le 18-05-2001 à 16:02:49
voila le code
Code :
|
et c qui ne marche pas, c pour positionner la bulle au bon endroit avec NS6 (ça doit etre pareil avec IE5 j'imagine)
Marsh Posté le 18-05-2001 à 16:10:41
fouilli ? bah arreten c juste parce que t'as la coloration syntaxique, sinon c propre
Marsh Posté le 18-05-2001 à 16:12:16
ah j'i trouve, ton event.x et event.y, il faut les mettre dans ns(e) parce que il peuvent etrer appeler que qand tu attrape les evenements. donc, dans ta fct ns(e)...tain met des commentaires oou des espaces dans ton code...je me sui sarrché pour le lire bien !!
Marsh Posté le 18-05-2001 à 16:19:04
bin normalement il est tout aligné comme y faut, mais c avec le forum que ça a deconné.
heu pour le mettre dans ns(e); je l'avais deja fait ça a rien changé:
var CouleurContour;
var CouleurFond;
var CouleurTexte;
var nsy=0;
var nsx=0;
var ns4=(document.layers && parseInt(navigator.appVersion)<5)?true:false;
var ie=document.all?true:false;
var dom=document.getElementById?true:false;
function AffBulle(texte)
{
contenu="<table border=0 cellspacing=0 cellpadding=1><tr bgcolor='"+CouleurContour+"'><td><table border=0 cellpadding=2 cellspacing=0 bgcolor='"+CouleurFond+"'><tr><td><div style='color:"+CouleurTexte+";font-family:arial;font-size:11px;margin-top:0px;margin-bottom:0px;'>"+texte+"</td></tr></table></td></tr></table>";
if (dom)
{
document.getElementById('bulle').innerHTML=contenu;
document.getElementById('bulle').style.left=nsx;
document.getElementById('bulle').style.top=nsy;
window.alert(nsx+' dcfg'+nsy);
document.getElementById('bulle').style.visibility="visible";
}
else if (ns4)
{
document.layers["bulle"].document.write(contenu);
document.layers["bulle"].document.close();
document.layers["bulle"].top=nsy+10;
document.layers["bulle"].left=nsx-10;
document.layers["bulle"].visibility="show";
}
else if (ie)
{
var f=window.event;
doc=document.body.scrollTop;
bulle.innerHTML=contenu;
document.all["bulle"].style.top=f.clientY+doc+10;
document.all["bulle"].style.left=f.x-10;
document.all["bulle"].style.visibility="visible";
}
}
function ns(e)
{
if (dom)
{
nsx=event.x;
nsy=event.y;
}
if (ns4)
{
nsx=e.x;
nsy=e.y;
}
}
function HideBulle()
{
if (dom)
document.getElementById('bulle').style.visibility = "hidden";
else if (ns4)
document.layers["bulle"].visibility="hide";
else if (ie)
document.all["bulle"].style.visibility="hidden";
}
function InitBulle(CoulTexte,CoulFond,CoulContour)
{
CouleurTexte=CoulTexte;
CouleurFond=CoulFond;
CouleurContour=CoulContour;
if (dom)
{
window.onMouseMove=ns;
document.write("<div id='bulle' style='position:absolute;top:0;left:0;visibility:hidden;z-index:1'></div>" );
}
else if (ns4)
{
window.captureEvents(Event.MOUSEMOVE);
window.onMouseMove=ns;
document.write("<layer name='bulle' top=0 left=0 visibility='hide'></layer>" );
}
else if (ie)
{
//z-index à 1 afin que la bulle s'affiche au-dessus l'autre couche
document.write("<div id='bulle' style='position:absolute;top:0;left:0;visibility:hidden;z-index:1'></div>" );
}
}
et dans nsx et nsy ya 0 (zero) dedans. peut etre que je fais mal pour l'appel de ns ? (dans initbulle)
if (dom)
{
window.onMouseMove=ns;
document.write("<div id='bulle' style='position:absolute;top:0;left:0;visibility:hidden;z-index:1'></div>" );
}
ça chie ?
Marsh Posté le 18-05-2001 à 16:33:40
Bon, alex !
pour l'escalade, c'est bon. T'as juste à trouver des chaussons d'escalade.
Tu peux en louer là :
LE REFUGE, avenue de Muret,
ONTARIO à Portet sur Garonne !
Sinon Laure te conseille d'appeller pour vérifier qu'il leur en reste pour dimanche. Y a peut-être d'autres magasins de location si ils en n'ont plus.
j'espère que t'as pas changer d'avis, parceque on s'est démené pour trouver ça
pour le reste du matos, on partagera, on est 5 de toute façon (si tu viens) et on pourras pas monter en même temps.
[edit]--Message édité par Moustaaki--[/edit]
Marsh Posté le 18-05-2001 à 16:34:19
juste par curiosite essaye de remplacer l'ordre des boucles (petite intuition..)
vers la fin de ton script :
if (ns4)
{
window.captureEvents(Event.MOUSEMOVE);
window.onMouseMove=ns;
document.write("<layer name='bulle' top=0 left=0 visibility='hide'></layer>" );
}
else if (dom)
{
window.onMouseMove=ns;
document.write("<div id='bulle' style='position:absolute;top:0;left:0;visibility:hidden;z-index:1'></div>" );
}
else if (ie)
{
//z-index à 1 afin que la bulle s'affiche au-dessus l'autre couche
document.write("<div id='bulle' style='position:absolute;top:0;left:0;visibility:hidden;z-index:1'></div>" );
}
}
Marsh Posté le 18-05-2001 à 14:51:45
dis dis dis comment tu fais pour recuperer la position x et y de la sourie avec NS6 ?