Gracias a todos de nuevo,
Tunait; antes de ver tu post consegui hacer que se moviera el scroll en vertical y ahora queria pasarlo a horizontal, pero no lo consigo. He probado cambiando el top por left y el height por bottom pero al ejecutarlo da un error.
Os paso el trozo de codigo para que le echeis un vistazo. No he utilizado lo de la propiedad overflow, pues aun no lo habia visto.
function recorta(donde)
{
if(ie)
{
clearTimeout(tiempo);
Y=parseInt(document.all[capa].style.top);
var H=parseInt(document.all[capa].style.height);
if((Y>altura)&&(donde==0))
{
activo=true;
valor=2;
paso+=valor;
document.all[capa].style.top = Y-valor;
document.all[capa].style.height = H+valor;
eval("document.all['"+capa+"'].style.clip='rect("+paso+",450,"+(H+valor)+",0)'") ;
tiempo=setTimeout("recorta(0)",50);
}
else if((Y<=300) && (donde==1) && (activo==true))
{
valor=-2;
paso+=valor;
document.all[capa].style.top = Y-valor;
document.all[capa].style.height = H+valor;
eval("document.all['"+capa+"'].style.clip='rect("+paso+",450,"+(H+valor)+",0)'") ;
tiempo=setTimeout("recorta(1)",50);
}
}
else if(n4)
{
Y=document.layers[capa].top;
var H=document.layers[capa].height;
if((Y>altura)&&(donde==0))
{
activo=true;
valor=2;
paso+=valor;
document.layers[capa].top = Y-valor;
document.layers[capa].height = H+valor;
document.layers[capa].clip.top=paso;
document.layers[capa].clip.bottom=(H+valor);
tiempo=setTimeout("recorta(0)",50);
}
else if((Y<=120)&&(donde==1) && (activo==true))
{
valor=-2;
paso+=valor;
document.layers[capa].top = Y-valor;
document.layers[capa].height = H+valor;
document.layers[capa].clip.top=paso;
document.layers[capa].clip.bottom=(H+valor);
tiempo=setTimeout("recorta(1)",50);
}
}
else if(n6)
{
Y=parseInt(document.getElementById(capa).style.top );
var H=parseInt(document.getElementById(capa).style.hei ght);
if((Y>altura)&&(donde==0))
{
activo=true;
valor=5;
paso+=valor;
document.getElementById(capa).style.top = Y-valor;
document.getElementById(capa).style.height = H+valor;
eval("document.getElementById('"+capa+"').style.cl ip='rect("+paso+",450,"+(H+valor)+",0)'");
tiempo=setTimeout("recorta(0)",50);
}
else if((Y<=120)&&(donde==1) && (activo==true))
{
valor=-5;
paso+=valor;
document.getElementById(capa).style.top = Y-valor;
document.getElementById(capa).style.height = H+valor;
eval("document.getElementById('"+capa+"').style.cl ip='rect("+paso+",450,"+(H+valor)+",0)'");
tiempo=setTimeout("recorta(1)",50);
}
}
}