hawks_ttf
Messages postés23Date d'inscriptionvendredi 11 novembre 2005StatutMembreDernière intervention23 février 2006
-
18 févr. 2006 à 16:30
hawks_ttf
Messages postés23Date d'inscriptionvendredi 11 novembre 2005StatutMembreDernière intervention23 février 2006
-
20 févr. 2006 à 20:57
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...
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.
hawks_ttf
Messages postés23Date d'inscriptionvendredi 11 novembre 2005StatutMembreDernière intervention23 février 2006 20 févr. 2006 à 14:22
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...
hawks_ttf
Messages postés23Date d'inscriptionvendredi 11 novembre 2005StatutMembreDernière intervention23 février 2006 20 févr. 2006 à 15:01
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!
Mindiell
Messages postés558Date d'inscriptionjeudi 25 juillet 2002StatutMembreDernière intervention 5 septembre 20071 20 févr. 2006 à 15:12
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)