11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour tout le monde.
Objectif: Obtenir un textarea qui se situe en bas de page, et qui reste en bas de page meme si l'utilisateur utilise la scrollbar. Pour cela j'utilise un code javascript qui provient de http://www.toulouse-renaissance.net/c_outils/c_menu_flottant.htm.

Probleme: ce code fonction parfaitement avec le doctype suivant:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">


mais ne fonctionne plus avec celui ci:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Et si je modifie mon doctype, mon css n'est plus interprété de la meme maniere. Mes tests ont porté sur IE7 et Firefox 2.0

Voici le code javascript:

<!-- begin floating menu -->
<script>
if (!document.layers)
document.write('<div id="divStayTopLeft" style="position:absolute">')
</script>
<layer left="60" top="12858" id="divStayTopLeft">
<!-- le menu -->
    <td class='tdl' bgcolor='#003366'>
	  <textarea name="" cols="20" rows="9"></textarea>
<!-- menu end -->

</layer>


<script type="text/javascript">

if (!document.layers)
document.write('</div>')

function JSFX_FloatTopDiv()
{
	var startX = 10,
	startY = 300;
	var ns = (navigator.appName.indexOf("Netscape") != -1);
	var d = document;
	function ml(id)
	{
		var el=d.getElementById?d.getElementById(id):d.all?d.all[id]:d.layers[id];
		if(d.layers)el.style=el;
		el.sP=function(x,y){this.style.right=x;this.style.top=y;};
		el.x = startX;
		el.y = ns ? pageYOffset + innerHeight : document.body.scrollTop + document.body.clientHeight;
		el.y -= startY;
		return el;
	}
	window.stayTopLeft=function()
	{
		var pY = ns ? pageYOffset + innerHeight : document.body.scrollTop + document.body.clientHeight;
		ftlObj.y += (pY - startY - ftlObj.y)/8;
		ftlObj.sP(ftlObj.x, ftlObj.y);
		setTimeout("stayTopLeft()", 1);
	}
	ftlObj = ml("divStayTopLeft");
	stayTopLeft();
}
JSFX_FloatTopDiv();
</script>
<!-- en floating menu -->


Merci d'avance pour votre aide.
cordialement.
Modifié par Dious (13 Mar 2007 - 15:24)
C'est bon j'ai trouvé la modification a faire.
Il faut tout simplement remplacer
document.body

par
document.documentElement 
C'est quoi l'URL de ton site car j'aimerais voir comment tu as fait puisque ca ne marche pas pour moi Smiley decu


Merci !!!!
Ben tu ne peux allé voir sur mon site car accés protéger, mais voici mon code qui marche sous Ie 6 et 7 et sur Firefox 2.0 mais pas sur netscape.

[code]<script type="text/javascript">
if (!document.layers)
document.write(\'<div id="divStayTopLeft" style="position:absolute">\')
</script>
<layer left="60" top="12858" id="divStayTopLeft" name="divStayTopLeft">
<textarea name="infoSupl" id="infoSupl" cols="18" rows="37" readonly="true" class="sousactivite">Cliquez sur l\'une des 5 catégories, puis survoler les activés pour obtenir plus d\'informations.
Heum pourrais-je avoir ton code en entier...c-a-d incluant ton doctype et ton code javascript en entier pour que je puisse faire mes tests.....IE me donne du trouble...!

Merci