Hola,
Me gustaria que cuando hago click en un link de id tipo "#div1" la página no bajase de golpe, si no que tardase un poco más haciendo scroll.
Se puede hacer con javascript ¿no?
¿Me he explicado bien?
Gracias
| |||
Scroll por id Hola, Me gustaria que cuando hago click en un link de id tipo "#div1" la página no bajase de golpe, si no que tardase un poco más haciendo scroll. Se puede hacer con javascript ¿no? ¿Me he explicado bien? Gracias
__________________ <?php print("Php2"); ?> |
| ||||
Respuesta: Scroll por id podrías animar el scroll utilizando jquery
Código Javascript:
Ver original o agregar un interval en el on click del link |
| ||||
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> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p><a href="#arriba" id="abajo" rel="easyurl">Arriba</a></p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> </body> </html>
__________________ if(ViolenciaDeGénero) {alert('MUJER ASESINADA');} |
| |||
Respuesta: Scroll por id haciendo esta prueba rapida no funciona:
Código HTML:
Ver original
__________________ <?php print("Php2"); ?> |
Etiquetas: |