Ver Mensaje Individual
  #3 (permalink)  
Antiguo 30/12/2011, 07:20
Avatar de IsaBelM
IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 11 meses
Puntos: 1012
Respuesta: Scroll por id

con puro javascript
Cita:
<html>
<head>
<script type="text/javascript">
(function(){
var init=function(){
var tags=document.getElementsByTagName('*'),doms=[],intervalo=false,timeout=false,time=80; // En este ultimo (time), se define la velocidad.
for(var i=0;i<tags.length;i++){
if(tags[i].getAttribute('rel')!=null){
if(tags[i].getAttribute('rel')=='easyurl'){
doms.push(tags[i]);
}
}
}
for(var i=0;i<doms.length;i++){
doms[i].onclick=function(){
var id=this.getAttribute('href').split('#')[1],dom=document.getElementById(id),offsetTop=0,offse tLeft=0,elm=dom;
while(elm.offsetParent){
offsetLeft+=elm.offsetLeft;
offsetTop+=elm.offsetTop;
elm=elm.offsetParent;
}
if(intervalo)clearInterval(intervalo);
if(timeout)clearTimeout(timeout);
var actT=document.documentElement.scrollTop?document.d ocumentElement.scrollTop:document.body.scrollTop;
var actL=document.documentElement.scrollLeft?document. documentElement.scrollLeft:document.body.scrollLef t;
time=time>1?time:2;
intervalo=setInterval(function(){
if(actT==offsetTop&&actL==offsetLeft){clearInterva l(intervalo);clearTimeout(timeout);}
actT=(actT>offsetTop?Math.floor(actT-((actT-offsetTop)/time)):Math.ceil(actT+((offsetTop-actT)/time)));
actL=(actL>offsetLeft?Math.floor(actL-((actL-offsetLeft)/time)):Math.ceil(actL+((offsetLeft-actL)/time)));
window.scrollTo(actL,actT);
},1);
timeout=setTimeout(function(){clearInterval(interv alo);},time*1000); // ESTO ES POR SI SE TRABA, EN UNOS SEGUNDOS LO LIBERAMOS
return false;
};
}
};
if(window.addEventListener){
window.addEventListener('load',init,false);
}else if(window.attachEvent){
var f=function(){init.call(window,window.event);};
window.attachEvent('onload',f);
window[init.toString()+'load']=f;
}else{
window['onload']=init;
}
})();
</script>
</head>
<body>
<p><a href="#abajo" id="arriba" rel="easyurl">Abajo</a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><a href="#arriba" id="abajo" rel="easyurl">Arriba</a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</body>
</html>
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}