Ver Mensaje Individual
  #25 (permalink)  
Antiguo 10/01/2011, 18:48
erfrancis
 
Fecha de Ingreso: noviembre-2010
Mensajes: 58
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: como hacer para que un ancla no sea leida desde la parte mas superior

isabelM muchas gracias por currartelo echandome una mano.
Mira lo que me has pasado lo estoy probando en mi buscador con tu script y es que te cuento, yo tengo el buscador para que busque tanto si le das al boton de buscar como si le das al intro tras poner el contenido a buscar en la caja de texto del buscador. (en el script que me pasas rula solo si le das al boton).

Aparte y a lo que voy tambien es que no me gustaría usar saltos <br> y según lo que me pasaste y como lo he montado se me ha quedado bien sin usarlos, pero sigo teniendo los prolemas del scrollLeft y otro que se me ha añadido con i explorer que espero me puedas resolver que viendo lo visto para ti sera una tontería.
Mejor te voy a pasar el script que yo estoy usando tal cual, y el buscador y sobre el, hacemos las modificaciones precisas. sobre este script me siguen faltando:

1.El aplicar el left al scroll horizontal al igual que se hace con el parseInt(scrollTop-99) para el scroll vertical.

2.El mensaje de espera que sale antes de que encuentre el ancla conseguí ponerlo mezclando tu script con el primero que te pase (es el que te voy a poner ahora para que le eches el vistazo), total que consigo ponerlo y me funciona perfecto pulsando el enter y el boton de busqueda tanto en chrome, como en mozilla, pero en Internet Explorer (como siempre) solo me funciona si le doy al boton de busqueda, pero si pulso intro aparece el mensaje de buscando (en del 2000 de 2 seg) pero no busca el ancla, ahí se queda (cosa que no ocurre con los otros navegadores) Además abajo a la izquierda en explorer cuando invocas estos script sale el mensaje de error en la pagina (antes no salia, por lo que debera haber algo del script que explorer no reconozca o este mal).

Entonces en base al script que te voy a pasar con su buscador (el que estoy usando), espero que me puedas modificar este script para que quede solucionado por un lado el mover el scroll left al igual que se hace con el scrollTop y que funcione tambien lo del mensaje+ancla en explorer tras pulsar el boton intro.

Es solo lo que me queda para que rule perfecto y te lo agradezca infinitamente, se que a ti te costara muy poco dejarlo bien, pero como estoy iniciandome con el js ahora a mi me cuesta bastante sacar cualquier cosa. gracias espero tu respuesta ansioso.. ;)

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. function finde(foto) {
  3. document.getElementById('cargando').style.display = 'none';
  4. var tag = foto.buscafoto.value;
  5. document.location.href = '#' + tag;
  6.  
  7. if (window.pageYOffset === undefined) {
  8. var scrollLeft = document.documentElement.scrollLeft;
  9. var scrollTop = document.documentElement.scrollTop;
  10. }else {
  11. var scrollLeft = window.pageXOffset;
  12. var scrollTop = window.pageYOffset;
  13. }
  14.  
  15. window.scrollTo(0, parseInt(scrollTop-99));
  16.  
  17. }
  18.  
  19. function fnc(foto) {
  20. document.getElementById('cargando').style.display = 'block';
  21. var tmo = setTimeout(function(){finde(foto);}, 2000);
  22. }
  23.  
  24. </script>

aqui te paso el codigo del buscador (sin su css):
Código HTML:
Ver original
  1. <div id='buscador'>
  2. <form onsubmit='fnc(this.form); return false'>
  3. <input class='searchtext' name='buscafoto' onblur='if(this.value==&quot;&quot;)this.value=&quot;busqueda!&quot;;else;this.value=this.value' onfocus='if(this.value==&quot;busqueda!&quot;)this.value=&quot;&quot;;else;this.value=this.value' type='text' value='busqueda!'/>
  4. <input class='searchsubmit' type='image' src='imagenes/findbutton.gif' onclick='fnc(this.form)'/>
  5. <div id="cargando"><img src="imagenes/loader.gif" /> <strong>buscando...</strong></div>
  6. </form>
  7. </div>


Prueba los códigos y ya ves como rula..

Muchas gracias de antemano y espero que con esto te sirva para dejarlo perfect ;)


PD:por cierto he usado tu codigo el ultimo que me has pasado pero no me funciona si no uso obligatoriamente los saltos de pagina <br> y nisiquiera aunque los use, no se a que es debido, prefiero por eso si lo puedes hacer con el codigo final que estoy usando (sino hubiera mas remedio pues se cambiaria pero si me puedes adaptar el codigo que te acabo de pasar con los 2 problemas resueltos seria lo mejor porque evitamos llenar el codigo de miles de <br>)

saludos espero tu solucion. gracias.

Última edición por erfrancis; 11/01/2011 a las 03:29