aquí sobra el método scrollBy()
Cita: var tag = document.getElementById('buscar').value.scrollBy(0 ,0);
Cita: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
<script type="text/javascript">
function buscar() {
var tag = document.getElementById('buscar').value;
document.location.href = '#' + tag;
if (window.pageYOffset === undefined) {
var scrollLeft = document.documentElement.scrollLeft;
var scrollTop = document.documentElement.scrollTop;
}else {
var scrollLeft = window.pageXOffset;
var scrollTop = window.pageYOffset;
}
window.scrollTo(0, parseInt(scrollTop-20));
}
</script>
</head>
<body>
<input type="text" value="a1" id="buscar" onclick="buscar();" />
<br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br />
<a name="a1"></a>
asffsd
<br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br />
</body>
</html>
y si que puedes hacerlo sin javascript. te explico un poco que tengo prisa, la idea es crear un vinculo y una capa oculta con todos los vínculos. el vinculo muestra la capa con todos vínculos. para crear esos vínculos, si realmente el orden es numérico. solo has de usar un ciclo for del lado del servidor