Mi è piaciuto molto l'effetto del menu sulla dx all'interno del 155.it che scrolla insieme allo scroll della pagina per rimanere sempre in vista. Ho dato un occhiata al codice della pagina ma se prendo il codice javascript e creo un div con il nome specificato nella funzione, lo scroll non mi va, non accade nulla, cosa sbaglio?
Il codice javascript è:
<SCRIPT language=javascript>
var bName = navigator.appName;
var bVer = parseInt(navigator.appVersion);
var NS6 = (bName == "Netscape" && bVer >=5 && bVer < 7); //alternativa check su getElementById
var NS4= document.layers;
var IE4= document.all;
//LAYER SWITCHING CODE
if (NS4) {
layerStyleRef="layer.";
layerRef="document.layers[";
styleSwitch="]"; layerDoc=".document."
}
else if (IE4) {
layerStyleRef="layer.style.";
layerRef="document.all[";
styleSwitch="].style"; layerDoc=".";
}
else if (NS6) {
layerStyleRef="style.";
layerRef="document.getElementById(";
styleSwitch=").style"; layerDoc=".";
}
else {
alert("Browser non definito");
}
function setVariables(){
if (navigator.appName == "Netscape")
{
if (parseInt(navigator.appVersion) >= 5)
{
v=".top=";
h=".left=";
dS="document.getElementById(\"";
sD="\").style";
y="window.pageYOffset";
x="window.pageXOffset";
}
else
{
v=".top=";
h=".left=";
dS="document.";
sD="";
y="window.pageYOffset";
x="window.pageXOffset";
}
}
else
{
h=".pixelLeft=";
v=".pixelTop=";
dS="";
sD=".style";
y="document.body.scrollTop";
x="document.body.scrollLeft";
}
checkLocationA();
}
movex=0,movey=0,xdiff=0,ydiff=0,ystart=0,xstart=3;
function checkLocation()
{
object="menu";
yy=eval(y);
xx=eval(x);
ydiff=ystart-yy;
xdiff=xstart-xx;
if ((ydiff<(-1))||(ydiff>(1)))
movey=Math.round(ydiff/10),ystart-=movey
if ((xdiff<(-1))||(xdiff>(1)))
movex=Math.round(xdiff/10),xstart-=movex
if (ystart>=121)
{
eval(dS+object+sD+v+(ystart+10));
}
else
{
eval(dS+object+sD+v+"121");
}
eval(dS+object+sD+h+"3");
setTimeout("checkLocation()",10);
}
function checkLocationA()
{
ystart=eval(y);xstart=eval(x);
}
</SCRIPT>
nel tag body ovviamente ho inserito:
<body onload="setVariables();checkLocation()">
e il div è strutturato così:
<DIV id="menu">
<TABLE cellSpacing=0 cellPadding=0 width=140 border=0>
<TBODY>
<TR>
<TD>MENU</TD>
</TR>
</TBODY>
</TABLE>
</DIV>