begin process at 2012 05 29 08:15:05
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Javascript

 > 

Archives

 > 

AU SECOURS !!!

 > 

Dimension d'un div de façon dynamique


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Dimension d'un div de façon dynamique

samedi 18 février 2006 à 16:30:49 | Dimension d'un div de façon dynamique

hawks_ttf

Bonjour tout le monde

Je cherche le moyen d'avoir dynamiquement les dimensions d'un div...

J'ai essayé document.getElementbyID(IDdiv).offsetWidth et .offsetHeight mais il me répond "Erreur : this.document.ftb has no properties" (ca c'est le copier/coller, il marque pas vraiment ça mais je pense que ça c'est plus parlant)

Alors j'ai essayé de mettre .width et d'autre (dont je me souviens plus) mais j'ai toujours la même erreur....


Je place le code si ça peux aidé... C'est un code que j'ai trouvé ici (enfin je crois j'ai plus le lien) que j'essai de modifier (ça travail mon peu de JS, et puis je trouvais simple le code de base)
Je met en orange la partie à problème...


/**********************
* infobulles
* Ben, 23/07/2005
**********************/

//Espacement entre le curseur et l'infobulle
var cursorX = 5;
var cursorY = 5;

//Gestion des navigateurs (IE, MOZ, NS)
nav = navigator.appName;

ie = document.all;
ns = document.layers;
fi = document.getElementById && !document.all;

if(!ie && !ns && !fi){
    alert("Navigateur "+nav+" incompatible !");}

if(!ie){
    document.captureEvents(Event.MOUSEMOVE);}

document.onmousemove = get_mouse;

function get_mouse(e){
    //Récupère les coordonnées de la souris
    if(ie){
        sourisX = event.x;
        sourisY = event.y;
        window.status = x;
    }else{
        sourisX = e.pageX;
        sourisY = e.pageY;
    }   
   
    //Création du terme bubble (désignant l'infobulle)
    var bubble = document.getElementById("infobulle");

    //Récupère la résolution de l'écran
    var ecranX = document.body.clientWidth + document.body.scrollLeft;
    var ecranY = document.body.clientHeight + document.body.scrollTop;

    //Récupère la taille de la bubble
    var tailleX = bubble.offsetWidth;
    var tailleY = bubble.offsetHeight;


    //Vérifie si la bubble sort de l'écran à droite
    if( sourisX + cursorX + tailleX > ecranX ){
        //Oui, la bubble est bloqué
        bubble.style.left = ecranX - tailleX + 'px';
    } else {
        //Non, la bubble se déplace
        bubble.style.left = sourisX + cursorX + 'px';}

    //Vérifie si la bubble sort de l'écran en bas
    if( sourisY + cursorY + tailleY > ecranY ) {
        //Oui, la bubble est bloqué
        bubble.style.top = ecranY - tailleY + 'px';
    } else {
        //Non, la bubble se déplace
        bubble.style.top = sourisY + cursorY + 'px';}
}


//Affiche la bubble
function see_bubble(text){
    bubble.style.visibility = "visible";
    bubble.style.display = "block";
    bubble.innerHTML = text;}

//Cache la bubble
function kill_bubble(){
    bubble.style.visibility = "hidden";
    bubble.style.display = "none";}


J'espère que vous pourrez m'aidez....

PS: J'ai pas trouvé de balise pour mettre un commentaire ou du code, c'est normal?
PS': Je sais, c'est un script d'infobulle, y'en a plein de déjà fait, mais bon.... J'ai le d'essayer et d'apprendre.
lundi 20 février 2006 à 13:51:18 | Re : Dimension d'un div de façon dynamique

Mindiell

ok, tu as un script d'info-bulle... Tu veux faire quoi exactement ? pourquoi chercher à connaitre sa taille ?
lundi 20 février 2006 à 14:22:04 | Re : Dimension d'un div de façon dynamique

hawks_ttf

Merci de ta réponse Mindiell

Si la position de la souris plus l'écart entre la souris et la bulle plus la taille de la bulle sont plus grand que la taille de l'écran, il en manquera un bout, donc dans ce cas, la bulle est bloqué au bord de l'écran.

Voila pourquoi je veux connaitre sa taille en dynamique, pour éviter que la bulle sortent de l'écran...
lundi 20 février 2006 à 14:36:10 | Re : Dimension d'un div de façon dynamique

Mindiell

Moi j'ai une bulle comme ca, un div. Je vérifie rien, j'ai juste ca : .tooltip_on { position : absolute; display : block; } et ca dépasse jamais de l'écran (il se retaille tout seul, suivant le texte ca fera une bulle de plusieurs lignes, pitet un peu moche, mais bon...) Forcément, quand on arrive trop à droite ca déborde, mais bon : http://www.mindiell.net/tooltip/exemple.html
lundi 20 février 2006 à 15:01:19 | Re : Dimension d'un div de façon dynamique

hawks_ttf

Merci pour cette astuce, mais je préfèrerai pouvoir calculer la taille, comme ça la bulle sera indéformable...

En attendant d'avoir la réponse à ma question, je vais me servir de ça.




PS: Je ne valide pas car ça ne répond pas vraiment à ma question, et puis j'ai un problème pour valider....
PS': Et puis ça va peut être me poser problème, il y aura surement des bulles proche du bord de l'écran!
lundi 20 février 2006 à 15:12:36 | Re : Dimension d'un div de façon dynamique

Mindiell

Ok, une petite question : "Comment calcules-tu la première taille de ta bulle ?" Si la souris est très à gauche de l'écran, la taille de départ fait quasiment toute la largeur de l'écran, non ? Si on déplace la souris vers la droite, la bule restera sur place, mais très grande. En contre-partie, si on passe avec la souris très à droite, la bulle de départ sera toute petite. C'est pour ca que si j'étais toi, je fixerais la largeur de l'infobulle. A partir de là, plus de problèmes, tu connais forcément sa taille ! Si tu re-regardes mon lien, j'ai fixé la taille de la bulle, et j'ai donc pu bloquer celle-ci :o)
lundi 20 février 2006 à 20:57:46 | Re : Dimension d'un div de façon dynamique

hawks_ttf

Réponse acceptée !
J'ai trouvé le pb.... Si on retire le "var" à "var bubble = document.getElementById("infobulle");" ça marche....


Cette discussion est classée dans : style, ie, var, document, bubble


Répondre à ce message

Sujets en rapport avec ce message

Probleme affichage infobulle calendrier avec IE mais pas avec firefox [ par ishanshade ] Bonjour à tousJe fais un site internet pour la FAC sur un sujet bien précis : les mangasPour ce site,j'ai voulu incorporer un calendrier avec infobull Décalage Infobulle sur IE [ par jeanmarc1234 ] Bonjour,Avant toute chose je code en aspx mais j'ai du récupérer un script qui permet de charger une image dans un infobulle.Sur Mozilla aucun souci l Pb avec IE [ par Thiman ] j'ai mis ce script d'info-bulle, trouver sur internet. Il fonctionne parfaitement sur Firefox et Opéra mais problème avec IE. Pourriez-vous me venir e remettre des input radio à vide [ par joujma5 ] bonjour j'ai un bout de code qui me gène je veux bien remettre les input radio vides(!=checked) on rafraîchissant la page web.voici le code: funct Deux javascripts identique dans une même page [ par guerrilleur ] Voila je voudrai avoir de fois le même javascript sur ma page. voici mon code actuel: [code=html] --> /*************** Aide pour faire une boucle [ par nel_sim ] Bonjour ! Je débute en Javascript, c'est pour cela que j'ai besoin de vous ! En fait j'aimerai faire une boucle avec for ou while, mais je ne sais pa Message à l'envoi d'un formulaire, oui mais avec un GIF ? [ par porciner ] Bonjour à tous,J'ai fais une petite fonction qui permet d'afficher un message d'attente lorsque l'utilisateur envoie un formulaire.function uploadProg Problème de cookie [ par molko13 ] Bonsoir à tous,Cela fait plusieurs jours que je me casse les dents sur la gestion d'un cookie qui serait à terme utilisé pour gérer l'affichage ou de Javascript & XHTML Strict [ par plasticism ] Bonjour, je sèche depuis presque 2 jours sur ce script tout bête, adapté d'une source que j'ai pompé je-ne-sais-plus-où... Il est sensé afficher une "


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,421 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales