Tempo fa ho letto un tutorial su questo sito che spiegava come ottenere per le proprie pagine un floating menu (come questo) che scrollando la pagina ricalcola la propria posizione di conseguenza.
Dopo avere appreso le basi di JS sto cercando di personalizzarmi lo script, quello del tutorial mi sembra un po' datato e dichiarando un documento XHTML con un DOCTYPE apposito non funziona nemmeno a pregarlo
.
Intanto vi posto il mio codice (che funziona solo in IE e Opera) così lo potete provare e lavorarci direttamente:
codice:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>MyFloatingMenu</title>
<script type="text/javascript">
<!--
var ie = document.all;
var intervalId;
var speed = 10;
function setTop () {
document.getElementById("divProva").style.top = (ie)?document.documentElement.scrollTop :window.scrollY;
}
function getPosition () {
intervalId = setInterval ("setTop ()", speed);
}
function stopFloat () {
clearInterval (intervalId);
}
onload = getPosition ();
// -->
</script>
</head>
<body>
<div style="height: 800px;">
<div id="divProva" style="position: absolute; top: 0px; left: 0px;">Paragrafo</div>
<p style="margin-top: 50px;"><input type="button" onclick="stopFloat()" value="Stop" /></p>
</div>
</body>
</html>
Il problema, come da titolo, è solo uno: non riesco a trovare l'equivalente FF per la proprietà document.documentElement.scrollTop!
Questo, badate bene, nonostante il mio libro (credo uno dei più autorevoli) consigli esplicitamente l'uso di window.scrollY in questi casi
.
Confido in voi