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

Archive Javascript

 > 

Archives

 > 

AU SECOURS !!!

 > 

Enorme Probleme avec document.body.scrollTop


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

Enorme Probleme avec document.body.scrollTop

lundi 28 février 2005 à 08:45:42 | Enorme Probleme avec document.body.scrollTop

polo_777

voila je souhaiterai faire une info bulle, pour ce faire j'ai trouver des tas des scripts deja tout fait qui fonctionnes tres bien sauf que "tous" on le meme petit ( gros  )  probleme

document.body.scrollTop retourne 0 (zero) se qui ne décale pas ma bulle lorsque je scroll
se qui fait qu'a un certain moment quand je scroll je ne voi plus ma bulle
 
je ne sais pas si c'est parce que je tarvail suis des frame

j'avais deja poser la question ici mais personne n'a su me répondre malheureusement

j'espere avoir plus de chance chez vous

Merci d'avance

je vous mets le code :

-------------------------------------------------------------------

j'ai sa dans le head :
Code:

<SCRIPT LANGUAGE="JavaScript" type="text/javascript">


var IB=new Object;
var posX=0;posY=0;
var xOffset=10;yOffset=-35;
function AffBulle(texte) {
  contenu="<TABLE border=0 cellspacing=0 cellpadding="+IB.NbPixel+"><TR bgcolor='"+IB.ColContour+"'><TD><TABLE border=0 cellpadding=2 cellspacing=0 bgcolor='"+IB.ColFond+"'><TR><TD><FONT size='-1' face='arial' color='"+IB.ColTexte+"'>"+texte+"</FONT></TD></TR></TABLE></TD></TR></TABLE>&nbsp;";
  var finalPosX=posX-xOffset;
  if (finalPosX<0) finalPosX=0;
  if (document.layers) {
    document.layers["bulle"].document.write(contenu);
    document.layers["bulle"].document.close();
    document.layers["bulle"].top=posY+yOffset;
    document.layers["bulle"].left=finalPosX;
    document.layers["bulle"].visibility="show";}
  if (document.all) {
    //var f=window.event;
    //doc=document.body.scrollTop;
    bulle.innerHTML=contenu;
    document.all["bulle"].style.top=posY+yOffset;
    document.all["bulle"].style.left=finalPosX;//f.x-xOffset;
    document.all["bulle"].style.visibility="visible";
  }
  //modif CL 09/2001 - NS6 : celui-ci ne supporte plus document.layers mais document.getElementById
  else if (document.getElementById) {
    document.getElementById("bulle").innerHTML=contenu;
    document.getElementById("bulle").style.top=posY+yOffset;
    document.getElementById("bulle").style.left=finalPosX;
    document.getElementById("bulle").style.visibility="visible";
  }
}
function getMousePos(e) {
  if (document.all) {
  posX=event.x+document.body.scrollLeft; //modifs CL 09/2001 - IE : regrouper l'évènement
  posY=event.y+document.body.scrollTop;
  }
  else {
  posX=e.pageX; //modifs CL 09/2001 - NS6 : celui-ci ne supporte pas e.x et e.y
  posY=e.pageY;
  }
}
function HideBulle() {
   if (document.layers) {document.layers["bulle"].visibility="hide";}
   if (document.all) {document.all["bulle"].style.visibility="hidden";}
   else if (document.getElementById){document.getElementById("bulle").style.visibility="hidden";}
}

function InitBulle(ColTexte,ColFond,ColContour,NbPixel) {
   IB.ColTexte=ColTexte;IB.ColFond=ColFond;IB.ColContour=ColContour;IB.NbPixel=NbPixel;
   if (document.layers) {
      window.captureEvents(Event.MOUSEMOVE);window.onMouseMove=getMousePos;
      document.write("<LAYER name='bulle' top=0 left=0 visibility='hide'></LAYER>");
   }
   if (document.all) {
      document.write("<DIV id='bulle' style='position:absolute;top:0;left:0;visibility:hidden'></DIV>");
      document.onmousemove=getMousePos;
   }
   //modif CL 09/2001 - NS6 : celui-ci ne supporte plus document.layers mais document.getElementById
   else if (document.getElementById) {
           document.onmousemove=getMousePos;
           document.write("<DIV id='bulle' style='position:absolute;top:0;left:0;visibility:hidden'></DIV>");
   }

}

</SCRIPT>


puis il initialise au début du body :

Code:

<!-- appel à l'initialisation des infos bulles (laisser dans le BODY) -->
    <script language="JavaScript">InitBulle("navy","#FFCC66","orange",1);
// InitBulle(couleur de texte, couleur de fond, couleur de contour taille contour)
</script>


et enfin voila mon code

Code:


?><td nowrap class="jour_actu" width="30"><div align="center"><a href="info_jour.php?ref_jour=<? echo $donnees['ref']; ?>" onMouseOver="AffBulle('Impression du planning général')" onMouseOut="HideBulle()" target="_top" class="style3" ><? echo  $donnees['jour']; ?></a></div></td><?

Avec un peu de chance
lundi 28 février 2005 à 10:31:37 | Re : Enorme Probleme avec document.body.scrollTop

bultez

Membre Club

Bonjour,

pas tout lu ...
ce que je peux dire : dans une page normale, pas de souci
function bouge() 
{ img.style.top = document.body.scrollTop; }
et à l'initialisation de la page :
 window.onscroll=bouge;
(Exemple pour mettre en haut de page)

Cordialement. Bul. ~Site~~Mail~

lundi 28 février 2005 à 10:48:42 | Re : Enorme Probleme avec document.body.scrollTop

chimelpremier

Tu oublies de préciser  que ta page est valide XHTML, et dans ce cas  le document n'est plus body mais son père.
function getMousePos(e) {
  if (document.all) {
db=!document.documentElement?document.body:
document.documentElement
  posX=event.x+db.scrollLeft; //modifs CL 09/2001 - IE : regrouper l'évènement
  posY=event.y+db.scrollTop;
  }

lundi 28 février 2005 à 10:52:08 | Re : Enorme Probleme avec document.body.scrollTop

chimelpremier

Erreur corrigée:

la page à une largeur minimum de 100px chez IE

function getMousePos(e) {
  if (document.all) {
db=!document.documentElement.width?document.body:
document.documentElement
  posX=event.x+db.scrollLeft; //modifs CL 09/2001 - IE : regrouper l'évènement
  posY=event.y+db.scrollTop;
  }

lundi 28 février 2005 à 12:07:17 | Re : Enorme Probleme avec document.body.scrollTop

chimelpremier

db=!document.body.width?document.documentElement:document.body
devrait marcher aussi
mardi 1 mars 2005 à 20:33:22 | Re : Enorme Probleme avec document.body.scrollTop

coucou747

Administrateur CodeS-SourceS
ton code n'est pas compatible gecko...

document.all["bulle"]
est à remplacer par :
document.getElementById("bulle")

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

[ Lien ]
mardi 1 mars 2005 à 20:35:54 | Re : Enorme Probleme avec document.body.scrollTop

coucou747

Administrateur CodeS-SourceS
ton code n'est pas compatible gecko...

document.all["bulle"]
est à remplacer par :
document.getElementById("bulle")

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

[ Lien ]
mardi 1 mars 2005 à 21:49:23 | Re : Enorme Probleme avec document.body.scrollTop

chimelpremier

N'importe comment la source fournie date du temps de IE4 et Netscape 4, tous 2  disparus aujourd'hui. document.all est encore reconnu par IE6 et Opéra, mais document.layers a été carrément oublié de Netscape. Bonjour la compatibilté descendante.
mais la question portait sur la compatiblité XHTML. J'aurai aimé que polo777 revienne voir les réponses. Il n'a peut-être pas le temps ...



Cette discussion est classée dans : document, bulle, getelementbyid, all, layers


Répondre à ce message

Sujets en rapport avec ce message

un javascript en cache un autre [ par cousinlol ] Bonjour,Assez nul en javascript, j'apprécie beaucoup les script que je trouves et que j'adapte ensuite à mon environnement. Cela me permet aussi petit Pb avec un script info bulle [ par ard123 ] Bonjour, J'ai mis en place un script infos bulle (téléchargé sur http://www.toutjavascript.com/main/index.php3), ca marche nickel (texte ou image). Je Problème d'image [ par zomb666 ] Bonjour,Je me trouve face a un problème genant,j'ai crée un systeme de fenetres dans mon site, Tout marche nikel sauf lorsque j'essaye d'intégrer un c Info-bulle avec usermap [ par f1hgu ] Bonjour,Dans le but de développer mon site, j'étais à la recherche d'un script faisant une info bulle avec un usermap et des areas shape. Ne trouvant, unterminated string literal [ par kangun ] Bonjour. je me tourne vers vous suite à un problème apparut sur un java script. en effet, je souhaite afficher une bulle au dessus d'une image et chan pb de getElementById [ par kidpigeyre ] for(var i=0;i { document.getElementById("tete")[i].innerHTML=document.getElementById("tete")[i].innerHTML.substr(0,3); }voila ça ça ne ma infobulles et tableaux [ par David_monchy ] Salut à tous,j'ai pris ce script d'infobulle sur le net:    function affiche(action,contenu){            var voir;          &nb mettre une variable dans un lien [ par David78390 ] Salut à tous, j'ai un petit bug qui me gene. Je voudrais faire un avec une varaible dedans. Voila le code qui me permet de changer le texte en fonct incrementer [ par tonytruand ] bonjour;j'ai un souci d'incrémentation. Dans une function ci dessous, j'aimerai que le i se traduise par 0 puis 1 puis 2 etc.J'ai bien essayer le  for Problème cahce avec IE [ par goulouk ] Bonjour,je voudrais savoir comment empécher de mettre une page en cache, ou alors obliger IE à recharger la page sans la prendre dans le cache.Je vous


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

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 : 2,340 sec (4)

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