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 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113
|
function ObjGetPos(obj_){
var PosX = 0;
var PosY = 0;
var Obj = obj_;
//-- Si l'objet existe
if( Obj){
//-- Si propriété existe
if( Obj.offsetParent){
//-- Récup. Position Objet
PosX = Obj.offsetLeft;
PosY = Obj.offsetTop;
//-- Tant qu'un parent existe
while( Obj = Obj.offsetParent){
//-- Ajout position Parent
PosX += Obj.offsetLeft;
PosY += Obj.offsetTop;
}
}
}
//-- Retour des positions
return([PosX, PosY]);
}
//-- 15.09.2006 ------------------------
// Ajout Fonction Add_Event
//--------------------------------------
function Add_Event( obj_, event_, func_, mode_){
if( obj_.addEventListener)
obj_.addEventListener( event_, func_, mode_? mode_:false);
else
obj_.attachEvent( 'on'+event_, func_);
}
//-- 15.09.2006 ------------------------
// Utilisation de Add_Event
//--------------------------------------
function Init_Bulle(){
//-- Pour les SELECT on supprime l'événement hérite
var Obj = document.body.getElementsByTagName('SELECT');
if( Obj && Obj.length){
for(var i=0; i < Obj.length; i++){
if( Obj[i].size == 1){
for(var k=0; k < Obj[i].options.length; k++){
Add_Event( Obj[i].options[k], 'mousemove', cache);
}
}
Add_Event( Obj[i], 'mousedown', cache);
Add_Event( Obj[i], 'scroll', cache);
}
}
}
function GetId(id){
return document.getElementById(id);
}
var bulle_visible=false; // La variable i nous dit si la bulle est visible ou non
function move(e) {
if(bulle_visible){
if (navigator.appName!="Microsoft Internet Explorer") { // Si on est pas sous IE
if(e.target.tagName == "OPTION"){
var Pos =new Array();
Pos = ObjGetPos(e.target);
GetId("curseur").style.left=Pos[0]+ e.target.offsetWidth+ 5+"px";
GetId("curseur").style.top=Pos[1]+ 10+"px";
}else{
GetId("curseur").style.left=e.pageX + 5+"px";
GetId("curseur").style.top=e.pageY + 10+"px";
}
}
else {
var X = event.x;
var Y = event.y;
var name="curseur";
if(event.srcElement.tagName == "OPTION"){
var Pos =new Array();
Pos = ObjGetPos(event.target);
X=Pos[0]+ event.target.offsetWidth;
Y=Pos[1];
}
if(document.documentElement.clientWidth>0) {
GetId(name).style.left=20+X+document.documentElement.scrollLeft+"px";
GetId(name).style.top=10+Y+document.documentElement.scrollTop+"px";
}
else {
GetId(name).style.left=20+X+document.body.scrollLeft+"px";
GetId(name).style.top=10+Y+document.body.scrollTop+"px";
}
}
}
}
function montre(text) {
Init_Bulle();
if(bulle_visible==false) {
GetId("curseur").style.visibility="visible"; // Si il est cacher (la verif n'est qu'une securité) on le rend visible.
GetId("curseur").innerHTML = text; // on copie notre texte dans l'élément html
if (navigator.appName=="Microsoft Internet Explorer") GetId("curseur").style.width = "250px";
else GetId("curseur").style.width = GetId("curseur").offsetWidth;
bulle_visible=true;
}
}
function cache() {
if(bulle_visible==true) {
GetId("curseur").style.visibility="hidden"; // Si la bulle est visible on la cache
GetId("curseur").style.width = '';
bulle_visible=false;
}
}
document.onmousemove=move; // des que la souris bouge, on appelle la fonction move pour mettre a jour la position de la bulle. |
Partager