Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

INFO BULLE TOUJOURS VISIBLE


Information sur la source

Catégorie :Effets Classé sous : infobulle, bulle, info bulle, toujours, visible Niveau : Débutant Date de création : 28/02/2006 Date de mise à jour : 17/01/2009 17:27:54 Vu / téléchargé: 13 834 / 2 006

Note :
9,5 / 10 - par 6 personnes
9,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (35)
Ajouter un commentaire et/ou une note


Description

Info Bulle...
...ou comment la coincer dans la fenêtre d'affichage...  

But du Jeu...
  1/ Faire apparaître une InfoBulle lorsque l'on passe au dessus d'un lien ou autres balises...
  2/ Faire que l'InfoBulle soit toujours entièrement visible...
  3/ Faire que l'InfoBulle suive le curseur quand c'est possible, cas des bords du document...
  4/ Etre compatible avec les principaux navigateurs...( IE, FireFox, Opera, NetScape )  

Ci dessous le contenu du fichier gfbulle.js
 

Source

  • //-------------------------------------------------------------
  • // Nom Document : gfbulle.js
  • // Auteur : G.Ferraz
  • // Objet : Info Bulle...
  • // Creation : 01.12.2003
  • /*-------------------------------------------------------------
  • Version :
  • 15.09.2008
  • - Ajout possibilite d'afficher un objet cache
  • - BulleHide n'est plus obligatoire
  • - Optimisations diverses
  • 15.08.2007
  • - Ajout fonction Init_Bulle plus esprit DOM plus modif. mineures.
  • 10.11.2006
  • - Correction Bug sous FF si document <DIV style="float...">
  • 15.09.2006
  • - Ajout parametre x_ et y_ sur la fonction BulleWrite
  • - Amelioration, modif. mineures.
  • 29.05.2006
  • - Compatibilite IE6 et DOCTYPE
  • 10.11.2003
  • - version initiale
  • -------------------------------------------------------------*/
  • var bullewrite = BulleWrite;
  • var Mouse_X; // Position X en Cours de la Mouse
  • var Mouse_Y; // Position Y en Cours de la Mouse
  • var Decal_X; // Decalage X entre Pointeur Mouse et Bulle
  • var Decal_Y; // Decalage Y entre Pointeur Mouse et Bulle
  • var bBULLE = false; // Flag Affichage de la Bulle
  • var Fenetre = new Object(); // pour dimension fenetre
  • //-- 10.11.2006 ----------------------------
  • // correction bug sur <DIV style="float...">
  • // Gestion Probleme Barre de scroll sous FireFOX
  • //------------------------------------------
  • function Win_GetDimension(){
  • //-- Variables locales
  • var Top, Left, Width, Height;
  • var ddE = document.documentElement;
  • var dB = document.body;
  • if( window.innerWidth){
  • with( window){
  • //-- position scrolling
  • Left = pageXOffset;
  • Top = pageYOffset;
  • //-- dimension scroll compris
  • Width = innerWidth;
  • Height = innerHeight;
  • //-- Recup Max et min Hauteur du document
  • var H_Max = Math.max( ddE.clientHeight, dB.clientHeight);
  • var H_Min = Math.min( ddE.clientHeight, dB.clientHeight);
  • //-- si hauteur document plus grand que fenetre
  • if( H_Max > Height)
  • Height = H_Min;
  • //-- si hauteur document plus petit que fenetre
  • else
  • Height = H_Max;
  • //-- Recup Max et min Largeur du document
  • var L_Max = Math.max( ddE.clientWidth, dB.clientWidth);
  • var L_Min = Math.min( ddE.clientWidth, dB.clientWidth);
  • //-- si largeur document plus grand que fenetre
  • if( L_Max > Width)
  • Width = L_Min;
  • //-- si largeur document plus petit que fenetre
  • else
  • Width = L_Max;
  • }
  • }
  • else{ // Cas Explorer a part le plus simple
  • var DocRef;
  • if( ddE && ddE.clientWidth)
  • DocRef = ddE;
  • else
  • DocRef = dB;
  • with( DocRef){
  • Left = scrollLeft;
  • Top = scrollTop;
  • Width = clientWidth;
  • Height = clientHeight;
  • }
  • }
  • return({ width : Width, height : Height, top: Top, right: Left +Width, bottom: Top + Height, left: Left });
  • }
  • //------------------------------------
  • function ObjShowAll( div_, x_, y_, z_){
  • var O_Bulle = document.getElementById( div_);
  • var MaxX, MaxY;
  • var Haut, Larg;
  • var SavY = y_;
  • if( O_Bulle){
  • //-- Recup. dimension du DIV
  • Larg = O_Bulle.offsetWidth;
  • Haut = O_Bulle.offsetHeight;
  • //-- Reajuste dimension fenetre
  • MaxX = Fenetre.right - Larg;
  • MaxY = Fenetre.bottom - Haut;
  • //-- Application Bornage
  • if( x_ > MaxX) x_ = MaxX;
  • if( x_ < Fenetre.left) x_ = Fenetre.left;
  • if( y_ > MaxY) y_ = MaxY;
  • if( y_ < Fenetre.top) y_ = Fenetre.top;
  • //-- si en bas On reajuste
  • //-- pour que la bulle ne prenne pas le focus
  • if( y_== MaxY){
  • var DeltaY = MaxY -SavY;
  • if( Mouse_X > x_) // Ajout optimisation placement
  • y_ = MaxY - DeltaY -Haut -2*Decal_Y;
  • }
  • //-- Place la bulle
  • O_Bulle.style.left = x_ +"px";
  • O_Bulle.style.top = y_ +"px";
  • O_Bulle.style.zIndex = z_;
  • O_Bulle.style.visibility = "visible";
  • }
  • }
  • //-- 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 ------------------------
  • // Ajout parametre x_ et y_
  • //-- 15.09.2008 ------------------------
  • // Ajout passage de l'ID d'un Objet
  • //--------------------------------
  • function BulleWrite( txt_, x_, y_){
  • var O_Bulle = document.getElementById( 'GF_BULLE');
  • //-- Test oubli parametre ou vide
  • txt_ = txt_ ? txt_ :"<span style='color:red;'><b>ERREUR<\/b> : param&egrave;tre <b>txt_<\/b> omis...<\/span>";
  • if( O_Bulle){
  • //-- Recup dimension d'affichage
  • Fenetre = Win_GetDimension();
  • // Decalage hors de la Bulle
  • Decal_X =( x_ ? x_: 5); // Decal_X = 5 par defaut
  • Decal_Y =( y_ ? y_: 5); // Decal_Y = 5 par defaut
  • //-- Teste si ID Objet
  • var tabTmp = txt_.split(':');
  • if( tabTmp[0].toLowerCase() ==('id')){
  • var szID = tabTmp[1];
  • var O_Src = document.getElementById( szID);
  • if( O_Src){
  • var O_Clone = O_Src.cloneNode( true);
  • O_Bulle.appendChild( O_Clone);
  • O_Clone.style.display = '';
  • O_Clone.style.visibility = 'visible';
  • bBULLE= true;
  • }
  • else{
  • //-- ERREUR on previent
  • txt_ ="<span style=\'color:red;\'\><b>ERREUR<\/b> : Objet ID : [<b>"+ tabTmp[1] +"<\/b>] non d&eacute;finie...<\/span>";
  • setTimeout( "BulleWrite(\"" + txt_ +"\"," + x_+"," + y_+")", 10);
  • return( false);
  • }
  • }
  • else{
  • //-- Ecriture de la Bulle
  • O_Bulle.innerHTML = "<div class='gfbulle'>" +txt_ +"<\/div>";
  • }
  • //-----------------------------------------//
  • // IMPORTANT on n'affiche pas la Bulle //
  • // l'evenement MouseOver va avec MouseMove //
  • //-----------------------------------------//
  • // ObjShowAll('GF_BULLE', Mouse_X +Decal_X, Mouse_Y +Decal_Y, 1000);
  • bBULLE= true;
  • return( true);
  • }
  • return(false);
  • }
  • //------------------
  • function BulleHide(){
  • var O_Bulle = document.getElementById( 'GF_BULLE');
  • with(O_Bulle){
  • innerHTML = "";
  • style.left = -1000 +"px";
  • style.top = -1000 +"px";
  • style.zIndex = 0;
  • style.visibility = "hidden";
  • }
  • bBULLE = false;
  • return(true);
  • }
  • //--------------------
  • function WhereMouse(e){
  • var O_Src;
  • var ddE = document.documentElement;
  • var dB = document.body;
  • //-- On traque les hybrides
  • if( e && e.target){
  • Mouse_X = e.pageX;
  • Mouse_Y = e.pageY;
  • O_Src = e.target;
  • }
  • //-- Pour IE
  • else{
  • var DocRef;
  • if( ddE && ddE.clientWidth)
  • DocRef = ddE;
  • else
  • DocRef = dB;
  • Mouse_X = event.clientX +DocRef.scrollLeft;
  • Mouse_Y = event.clientY +DocRef.scrollTop;
  • O_Src = event.srcElement;
  • }
  • //-- Affiche Bulle si necessaire
  • if( bBULLE){
  • //-- Ajoute evenement mouseout
  • if( !O_Src.gf_flag){
  • O_Src.gf_flag = true;
  • Add_Event( O_Src, 'mouseout', BulleHide);
  • }
  • ObjShowAll('GF_BULLE', Mouse_X +Decal_X, Mouse_Y +Decal_Y, 1000);
  • }
  • return( true);
  • }
  • //-- 15.08.2007 ---------------------------
  • // Fonction plus DOM que les document.write
  • //-----------------------------------------
  • function Init_Bulle(){
  • if( document.createElement){
  • //-- Creation du DIV Bulle
  • var O_New = document.createElement('div');
  • //-- Definition du style
  • with( O_New){
  • id = "GF_BULLE";
  • style.position = "absolute";
  • style.left = "0px";
  • style.top = "0px";
  • style.width = "auto";
  • style.height = "auto";
  • style.zIndex = 0;
  • style.visibility = "hidden";
  • }
  • //-- Ajout de l'element DIV
  • document.body.appendChild( O_New);
  • //-- Ajout evenement position
  • Add_Event( document, 'mousemove', WhereMouse);
  • }
  • }
  • //== INITIALISATION ==================================
  • Add_Event( window, 'load', Init_Bulle);
  • //-- EOF ------------------------------------------------------
//-------------------------------------------------------------
//  Nom Document : gfbulle.js
//  Auteur       : G.Ferraz
//  Objet        : Info Bulle...
//  Creation     : 01.12.2003
/*-------------------------------------------------------------
Version :
15.09.2008
 - Ajout possibilite d'afficher un objet cache
 - BulleHide n'est plus obligatoire
 - Optimisations diverses
15.08.2007
 - Ajout fonction Init_Bulle plus esprit DOM plus modif. mineures.
10.11.2006
 - Correction Bug sous FF si document <DIV style="float...">
15.09.2006
 - Ajout parametre x_ et y_ sur la fonction BulleWrite
 - Amelioration, modif. mineures.
29.05.2006
 - Compatibilite IE6 et DOCTYPE
10.11.2003
 - version initiale
-------------------------------------------------------------*/
var bullewrite = BulleWrite;
var Mouse_X;                // Position X en Cours de la Mouse
var Mouse_Y;                // Position Y en Cours de la Mouse
var Decal_X;                // Decalage X entre Pointeur Mouse et Bulle
var Decal_Y;                // Decalage Y entre Pointeur Mouse et Bulle
var bBULLE  = false;        // Flag Affichage de la Bulle
var Fenetre = new Object(); // pour dimension fenetre
//-- 10.11.2006 ----------------------------
// correction bug sur <DIV style="float...">
// Gestion Probleme Barre de scroll sous FireFOX
//------------------------------------------
function Win_GetDimension(){
  //-- Variables locales
  var Top, Left, Width, Height;
  var ddE = document.documentElement;
  var dB  = document.body;

  if( window.innerWidth){
    with( window){
      //-- position scrolling
      Left   = pageXOffset;
      Top    = pageYOffset;
      //-- dimension scroll compris
      Width  = innerWidth;
      Height = innerHeight;
      //-- Recup Max et min Hauteur du document
      var H_Max = Math.max( ddE.clientHeight, dB.clientHeight);
      var H_Min = Math.min( ddE.clientHeight, dB.clientHeight);
      //-- si hauteur document plus grand que fenetre
      if( H_Max > Height)
        Height = H_Min;
      //-- si hauteur document plus petit que fenetre
      else
        Height = H_Max;
      //-- Recup Max et min Largeur du document
      var L_Max = Math.max( ddE.clientWidth, dB.clientWidth);
      var L_Min = Math.min( ddE.clientWidth, dB.clientWidth);
      //-- si largeur document plus grand que fenetre
      if( L_Max > Width)
        Width = L_Min;
      //-- si largeur document plus petit que fenetre
      else
        Width = L_Max;
    }
  }
  else{ // Cas Explorer a part le plus simple
    var DocRef;
    if( ddE && ddE.clientWidth)
      DocRef = ddE;
    else
      DocRef = dB;
    with( DocRef){
      Left   = scrollLeft;
      Top    = scrollTop;
      Width  = clientWidth;
      Height = clientHeight;
    }
  }
  return({ width : Width, height : Height, top: Top, right: Left +Width, bottom: Top + Height, left: Left });
}
//------------------------------------
function ObjShowAll( div_, x_, y_, z_){
  var O_Bulle = document.getElementById( div_);
  var MaxX, MaxY;
  var Haut, Larg;
  var SavY = y_;
  if( O_Bulle){
    //-- Recup. dimension du DIV
    Larg = O_Bulle.offsetWidth;
    Haut = O_Bulle.offsetHeight;
    //-- Reajuste dimension fenetre
    MaxX = Fenetre.right  - Larg;
    MaxY = Fenetre.bottom - Haut;
    //-- Application Bornage
    if( x_ > MaxX) x_ = MaxX;
    if( x_ < Fenetre.left) x_ = Fenetre.left;
    if( y_ > MaxY) y_ = MaxY;
    if( y_ < Fenetre.top)  y_ = Fenetre.top;
    //-- si en bas On reajuste
    //-- pour que la bulle ne prenne pas le focus
    if( y_== MaxY){
      var DeltaY = MaxY -SavY;
      if( Mouse_X > x_) // Ajout optimisation placement
        y_ = MaxY - DeltaY -Haut -2*Decal_Y;
    }
    //-- Place la bulle
    O_Bulle.style.left       = x_ +"px";
    O_Bulle.style.top        = y_ +"px";
    O_Bulle.style.zIndex     = z_;
    O_Bulle.style.visibility = "visible";
  }
}
//-- 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 ------------------------
// Ajout parametre x_ et y_
//-- 15.09.2008 ------------------------
// Ajout passage de l'ID d'un Objet
//--------------------------------
function BulleWrite( txt_, x_, y_){
  var O_Bulle = document.getElementById( 'GF_BULLE');
  //-- Test oubli parametre ou vide
  txt_ = txt_ ? txt_ :"<span style='color:red;'><b>ERREUR<\/b> : param&egrave;tre <b>txt_<\/b> omis...<\/span>";
  if( O_Bulle){
    //-- Recup dimension d'affichage
    Fenetre = Win_GetDimension();
    // Decalage hors de la Bulle
    Decal_X =( x_ ? x_: 5);  //  Decal_X = 5 par defaut
    Decal_Y =( y_ ? y_: 5);  //  Decal_Y = 5 par defaut

    //-- Teste si ID Objet
    var tabTmp = txt_.split(':');
    if( tabTmp[0].toLowerCase() ==('id')){
      var szID = tabTmp[1];
      var O_Src = document.getElementById( szID);
      if( O_Src){
        var O_Clone = O_Src.cloneNode( true);
        O_Bulle.appendChild( O_Clone);
        O_Clone.style.display = '';
        O_Clone.style.visibility = 'visible';
        bBULLE= true;
      }
      else{
        //-- ERREUR on previent
        txt_ ="<span style=\'color:red;\'\><b>ERREUR<\/b> : Objet ID : [<b>"+ tabTmp[1] +"<\/b>] non d&eacute;finie...<\/span>";
        setTimeout( "BulleWrite(\"" + txt_ +"\"," + x_+"," + y_+")", 10);
        return( false);
      }
    }
    else{
      //-- Ecriture de la Bulle
      O_Bulle.innerHTML = "<div class='gfbulle'>" +txt_ +"<\/div>";
    }
    //-----------------------------------------//
    // IMPORTANT on n'affiche pas la Bulle     //
    // l'evenement MouseOver va avec MouseMove //
    //-----------------------------------------//
    // ObjShowAll('GF_BULLE', Mouse_X +Decal_X, Mouse_Y +Decal_Y, 1000);
    bBULLE= true;
    return( true);
  }
 return(false);
}
//------------------
function BulleHide(){
  var O_Bulle = document.getElementById( 'GF_BULLE');
  with(O_Bulle){
    innerHTML     = "";
    style.left    = -1000 +"px";
    style.top     = -1000 +"px";
    style.zIndex  = 0;
    style.visibility = "hidden";
  }
  bBULLE = false;
  return(true);
}
//--------------------
function WhereMouse(e){
  var O_Src;
  var ddE = document.documentElement;
  var dB  = document.body;
  //-- On traque les hybrides
  if( e && e.target){
    Mouse_X = e.pageX;
    Mouse_Y = e.pageY;
    O_Src   = e.target;
  }
  //-- Pour IE
  else{
    var DocRef;
    if( ddE && ddE.clientWidth)
      DocRef = ddE;
    else
      DocRef = dB;

    Mouse_X = event.clientX +DocRef.scrollLeft;
    Mouse_Y = event.clientY +DocRef.scrollTop;
    O_Src   = event.srcElement;
  }
  //-- Affiche Bulle si necessaire
  if( bBULLE){
    //-- Ajoute evenement mouseout
    if( !O_Src.gf_flag){
      O_Src.gf_flag = true;
      Add_Event( O_Src, 'mouseout', BulleHide);
    }
    ObjShowAll('GF_BULLE', Mouse_X +Decal_X, Mouse_Y +Decal_Y, 1000);
  }
  return( true);
}
//-- 15.08.2007 ---------------------------
// Fonction plus DOM que les document.write
//-----------------------------------------
function Init_Bulle(){
  if( document.createElement){
    //-- Creation du DIV Bulle
    var O_New = document.createElement('div');
    //-- Definition du style
    with( O_New){
      id               = "GF_BULLE";
      style.position   = "absolute";
      style.left       = "0px";
      style.top        = "0px";
      style.width      = "auto";
      style.height     = "auto";
      style.zIndex     = 0;
      style.visibility = "hidden";
    }
    //-- Ajout de l'element DIV
    document.body.appendChild( O_New);
    //-- Ajout evenement position
    Add_Event( document, 'mousemove', WhereMouse);
  }
}
//== INITIALISATION ==================================
Add_Event( window, 'load', Init_Bulle);
//-- EOF ------------------------------------------------------

Conclusion

Le fichier gfbulle.htm joint au zip vous permettra de découvrir l'utilisation des fonctions et leur résultats...

Nouveauté  
Le paramètre de la fonction peut être l'id d'un objet de la page, caché avec display:none, cela vous facilite, ainsi, l'écriture de l'InfoBulle...

 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

30 mai 2006 09:34:42 :
Prise en compte spécificité de IE6 et DOCTYPE
10 novembre 2006 18:45:48 :
Amélioration et modif suite à commentaires Correction d'un Bug existant sous FF si uniquement <DIV style="float..."> dans le document
17 janvier 2009 17:27:54 :
- Ajout possibilité d'afficher un objet cache - BulleHide n'est plus obligatoire - Optimisations diverses

Commentaires et avis

signaler à un administrateur
Commentaire de Tranus le 01/03/2006 10:27:33

Pas mal du tout!

signaler à un administrateur
Commentaire de nekosan3 le 01/03/2006 12:21:37

Je suis pas un expert mais je viens d'essayer, hmmm et bien ça fonctionne super ! C'est une chose que je vais surement réutiliser pour mon site , merci je te tiendrais au courant, dés que mon site sera fini, si cela t'intéresse. Par contre je n'ai pas noté, je ne penses avoir les compétences pour noter une chose que je ne maîtrise pas, mais bon je t'aurais mis largement au dessus de la moyenne !

signaler à un administrateur
Commentaire de johann1 le 01/03/2006 21:17:15

Ben y a je pense rien à dire! C'est géant! Merci PetoleTeam

signaler à un administrateur
Commentaire de asofera le 02/03/2006 10:57:45

Ca pourrait être pas mal mais je n'arrive pas à joindre ma feuille css. L info bulle reste alors bloquée en haut. Dès que j enlève l appel à ma feuille tout fonctionne, mais sans mise en page... Peut-on résoudre ce problème?

signaler à un administrateur
Commentaire de PetoleTeam le 02/03/2006 12:51:17


<HUMOUR>
Je suis surpris mais bon...tu as réussi a coicer la bulle...
</HUMOUR>

Cela marche pour moi depuis pas mal de temps aussi je pense qu'il ce peut qu'il y ai une erreur de syntaxe dans ta feuille de style, ou dans son appel interdisant le bon déroulement du script...
Je ne peut t'en dire plus en abscence des sources...
A SUIVRE...

signaler à un administrateur
Commentaire de asofera le 02/03/2006 14:15:49

En fait, mon site est entièrement en css, et une div "contenant" permettant de centrer le site est placée en absolute, ce qui ne plait pas à la bubulle. Lorsque j'enlève la position absolute, celle-ci fonctionne... Je n ai pas encore trouvé de solution à cela...

signaler à un administrateur
Commentaire de PetoleTeam le 03/03/2006 07:48:03

Un div global pour centrer? pourquoi pas plutôt
<CENTER><TABLE>...bla...bla..</TABLE></CENTER>

Quel est ton site pour aller faire un tour à l'occasion...

signaler à un administrateur
Commentaire de coucou747 le 03/03/2006 12:12:04

pas mal du tout, aparement compatible tout navigateurs (gecko et Khtml testés...).
function Void(){}
je ne sais pas à quoi sert cette fonction, mais tu utilise un mot clef (enfin, peut-être pas en javascript remarque...) et c'est déconseillé...

je vais mettre 9/10

signaler à un administrateur
Commentaire de PetoleTeam le 06/03/2006 08:34:05

Bonjour...
Merci pour l'info sur la compatibilté de navigateur que je n'est pas.
Pour la Void() 1000 excuses, c'est une fonction tampom que j'aurais efféctivement du supprimer au montage dans le cas présent...
;0)

signaler à un administrateur
Commentaire de jppsg36 le 06/03/2006 20:49:20

Efficace et facile à mettre en oeuvre, les explications sur le js permettent de bien comprendre le déroulement du code et de l'adapter sur ses pages perso. Chapeau

signaler à un administrateur
Commentaire de Necriis le 22/05/2006 13:53:26

Salut, ma page est en XHTML Strict, et la bulle reste coincée en haut à gauche de l'écran. J'ai supprimé un à un tous les éléments pouvant créer un éventuel conflit, et au final, c'est en supprimant l'entête "<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">" que la bulle s'est débloquée ... quelqu'un aurait-il une solution ?
Sinon, ça marche impec ! ;p

signaler à un administrateur
Commentaire de Tranus le 22/05/2006 14:16:41

Salut,

Oui, j'ai le même problème. La bulle reste coincée en haut à gauche.

signaler à un administrateur
Commentaire de PetoleTeam le 30/05/2006 09:37:51

A l'attention de NECRIIS et TRANUS
Mise à jour effectuée pour prise en compte du problème rencontré avec DOCTYPE...

signaler à un administrateur
Commentaire de Necriis le 30/05/2006 11:40:26

Merci beaucoup, ça marche impec' !
;)

signaler à un administrateur
Commentaire de c4rt3r le 05/06/2006 02:36:48

Bonjour,
j'ai de longues descritpions à mettre en bulles et j'aimerais un retour automatique du texte, j'ai donc essayé de fixer une largeur fixe à l'infobulle, mais je n'y arrive pas, comment est-il possible de le faire?
Merci

signaler à un administrateur
Commentaire de PetoleTeam le 05/06/2006 08:21:20


Bonjour...

Essaies d'encapsuler ton texte dans une table par exemple de largeur définie...
Exemple :
OnMouseOver="WriteBulle('<TABLE WIDTH=\"200\" ><TR><TD>le texte...</TD></TR></TABLE>'));"

signaler à un administrateur
Commentaire de c4rt3r le 05/06/2006 18:24:57

Malheureusement, ça ne fonctionne pas. y-a surment moyen de gérer ça dans le javascript?
j'ai essayé de bidouiller, mais j'ai pas trouvé.

signaler à un administrateur
Commentaire de PetoleTeam le 06/06/2006 13:03:28


1000 excuses...
...SYNTHAXE ERROR à la ligne xxx il faut lire
OnMouseOver="WriteBulle('<TABLE WIDTH=\'200\'><TR><TD>le texte...</TD></TR></TABLE>');"

signaler à un administrateur
Commentaire de c4rt3r le 06/06/2006 17:24:48

J'avais corrigé cette erreur, mais je testais avec une suite de caractère sans espace, donc ça fonctionnais pas ;)
Bref c'est trop tard, j'ai résolus mon problème autrement, je te remercie tout de même de ton aide, ce me servira surment plus tard.

signaler à un administrateur
Commentaire de trone le 07/06/2006 02:55:57

très bon script mais  si la bulle doit s'afficher devant un champs de type select , la bulle ce met deriere le champs et on ne vois pas ce qui fait écrit dans la bulle.

Ce serais sympa d optimiser le code pour ce petit bug

signaler à un administrateur
Commentaire de PetoleTeam le 07/06/2006 07:41:26


Bonjour...

Ce bug bien connu sur les éléments <SELECT> est en cours de correction suite à la source déposée par Nickadele.

Le code sera bientôt disponible dés que je l'aurais finalisé...

;0))

signaler à un administrateur
Commentaire de trone le 07/06/2006 17:04:38

salut

super! il sera complet avec cette correction  .

c est rare  les  scripts de bulles qui sont compatible avec la plupart des navigateurs , le XHTML strict et les element <SELECT>.

GG d'avance !

signaler à un administrateur
Commentaire de PetoleTeam le 21/06/2006 20:58:56

Hello every <BODY>
----------------------------------------
INFO BULLE COMPATIBLE SELECT ET DOCTYPE
----------------------------------------
La dernière version est disponible...
http://www.javascriptfr.com/code.aspx?ID=38238

Merci à Nickadele ( non, sa belle ne s'appelle pas Adèle...)

signaler à un administrateur
Commentaire de timotep le 25/08/2006 11:19:35

Ok pour ton code, mais malheureusement, j'ai un bug qui apparait avec firefox. En effet, lorsque le texte est à droite, firefox affiche l'infobulle non pas au maximum qu'il le peut sur la droite, mais beaucoup plus à gauche, très loin du curseur, comme s'il considérait que le bord de la page est plus à gauche. Comment éviter ça?

signaler à un administrateur
Commentaire de PetoleTeam le 25/08/2006 13:16:55

Bonjour,
La bulle est toujours ENTIEREMENT visible dans le fenêtre d'affichage et ne déborde normalement pas...
J'ai besoin d'un lien pour mieux appréhender ce problème...
A Suivre...

signaler à un administrateur
Commentaire de frk333 le 19/09/2006 15:16:54

Alors là bravo PetoleTeam ! Enfin un script qui marche sur tous les navigateurs (...que j'ai essayés !)

Et juste pour que tu continues à t'amuser ;) le repositionnement vers le haut ne marche pas avec Opera (9.01) : il fait défiler la scrolbar vers le bas ! (Test avec gfbulle.htm lien "Haut de Page")

En tous cas Merci !

signaler à un administrateur
Commentaire de PetoleTeam le 10/11/2006 18:59:01

Bonjour à tous
A l'attention de TIMOTEP et FRK333 merci de faire le test avec cette nouvelle version de gfbulle.js et de me tenir au courant.

signaler à un administrateur
Commentaire de frk333 le 11/11/2006 12:46:05

Je te confirme que cela fonctionne maintenant avec Opera ! Bravo !

signaler à un administrateur
Commentaire de timotep le 17/11/2006 13:52:28

merci, petoleTeam, c bon. Ca marche bien.

signaler à un administrateur
Commentaire de PetoleTeam le 17/11/2006 13:58:53

Merci du retour...
;0)

signaler à un administrateur
Commentaire de jesy le 31/03/2007 22:19:12

Dites, comment on fait pour changer le contour de l'info-bulle. J'ai essayé de mettre border-color, mais aucun changement.
Merci

signaler à un administrateur
Commentaire de PetoleTeam le 02/04/2007 17:48:18

Bonjour,
A la ligne 145, de la source ci dessus, tu trouves
Html  = "<TABLE BORDER=0 CELLSPACING=0><TR><TD BGCOLOR='#0000f0'>";
...en modifiant la valeur de BGCOLOR tu modifies la couleur du bord

A la ligne 146, de la source ci dessus, tu trouves
Html += "<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=4 WIDTH='100%' BGCOLOR='#FFFFE8'>";
...en modifiant la valeur de BGCOLOR tu modifies la couleur de fond

Pour faire plus au goût du jour tu peux remplacer la TABLE par un DIV qui est plus facile à "styliser" avec une feuille de style.

Pour une explication du pourquoi une table voir
http://www.javascriptfr.com/code.aspx?ID=38238
et la solution de nikola150 pour remplacer la TABLE par un DIV...

;0)

signaler à un administrateur
Commentaire de L3Fgandalf le 09/06/2008 19:25:49

Bonjour,  

J'ai un petit problème avec l'affichage de la bulle.  

En fait quand l'image est presque en haut la bulle ne se met pas automatiquement en dessous de la souris elle reste au- dessus, résultat mes images sont incomplètes.  
Sous windows je ne rencontre pas le problème sauf sous Saffari.  
Mais sur mac ça le fait aussi avec firefox et mon patron me le fait remarquer.  

En tout cas très beau travail. Et malgré ce petit problème pour moi, ça fonctionne vraiment très bien. Chapeau Bas.  

Merci d'avance.

signaler à un administrateur
Commentaire de PetoleTeam le 09/06/2008 19:39:41

Bonjour, si tu avais un lien pour bien appréhender le problème, ce serait le top.
Habituellement les infos bulles sont sous le curseur de la souris !
;O)

signaler à un administrateur
Commentaire de L3Fgandalf le 09/06/2008 22:54:27

J'ai vu les nouvelles sources, je vais les essayer demain.
Je vous tiens au courant.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

bug info bulle [ par ntfree ] voila, c tt simple, g chopé le script info bulle de ce site.mais le probleme, c'est ke maintenant, il est impossible de selectionner du texte sur le s attn jeanlain62-toujours javasqcript [ par nataly ] merci bcp pour ta réponse ms j'ai encore des soucis:- concerant les commentaires, ils ne st pas sauvergardés!en fait, ds mon projet,un utilisateur rem Transfert de fichier sans que ça soit visible [ par Skyze01 ] Bonjour,J'aimerais savoir comment faire pour que quand quelqu'un arrive sur la page, au chargement de celle-ci un fichier soit transféré sur son ordin Iframes encore et toujours ... [ par Krokodyle ] Salut tout le monde,J'ai une fois de plus besoin de vous pour m'aider en ce qui concerne l'utilisation des iframes. :-DVoilà, j'ai deux iframes sur un texte visible et sélectionné dans textarea [ par bultez ] &lt;br&gt;bonjour à tous.&lt;br&gt;&lt;TEXTAREA rows=10 cols=30 id=t1 name=t1&gt;&lt;/TEXTAREA&gt;&lt;input type=text name=rech&gt;&lt;input type=sub Infos Bulle [ par Florette ] Tout d'abord bonjour à vous tous,Mon soucis est lorsque je survol une image, une info bulle apparaît, mais trop lentement. Il faut rester un certain t Script gardant un image visible tout le temps [ par lineb76 ] Bonjour à tous,Je suis à la recherche d'un script permettant d'avoir toujours une image de mon choix en haut à gauche meme si l'utilisation utilise l' utiliser toujours le même dans un pop-up [ par KO2 ] Bonjour,Sur ma page, il y' a 5 liens. Chaque lien se dirige vers un pop-up. Ce qui m'embête ,c'est que je ne sais pas comment faire pour que a chaque Pourquoi mon pre-chargement d'images ne marche pas toujours ? [ par sunelis ] Salut a tous J'ai des boutons a base d'images survolees.Le probleme c'est que les images secondaires (qd la souris est au dessu des boutons) sont rech Help me!!! 3 jours que je souffre!! Création en java d'une infobulle [ par aoifutaba ] Bonjour!! j'ai fais un site sur la japanimation et j'aimerais lorsque qu'on survole une image, faire apparaitre une infobulle avec du texte! Et en cli


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,718 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.