Pos eso, que quiero cambiar periodicamente el href de un link, para que cada x segundos me lleve, al pulsarlo, a una página diferente.
¿Alguna idea?
| ||||
No entiendo, pero te cuento lo que yo hago :P Tengo un javascript que me carga un array con el nombre de la web, el href, la imagen, todo eso de una DB. Lo que quiero es que cada x tiempo, al igual que se cambia el atributo src de la imagen (con javascript¨), se cambie el atributo href del enlace. Gracias! |
| ||||
Hola otra vez: Cuando te preparaba un ejemplo puse un bucle que me obligó a cerrar todo y al abrirlo de nuevo, comprobé que no te había entendido bien. Retoqué el ejemplo para lo que tu pides: Código PHP: |
| ||||
Caricatos, eso es practicamente lo que busco. Siento no saber absolutamente nada de JAVASCRIPT, y así poder terminarlo yo, sin tener que volver a molestarles >_< Si no me equivoco, con esa funcion se cambian todos los hrefs de la pagina ¿no? Y otra cosa. No debe ser aleatorio, si no uno tras otro, en el orden en el que lo cargo al array >>_<<. Muchas gracias de nuevo. |
| ||||
Vamos por partes Con esta línea: document.links[0].href = ref; ... se cambia el href al primer link (etiqueta a)... Si no sabes si hay más de un tag "a", puedes poner un atributo name y en vez de poner links[0] puedes poner: para <a name=unLink src=... document.links.unLink.href = ... Ahora para que no sea aleatorio, tan solo tienes que llevar un contador que se incremente en cada llamada... <script language=javascript> var dirs = [ "www.forosdelweb.com", "www.sucaricatura.com", "www.maestrosdelweb.com", "www.desarrolloweb.com" ]; var cuenta = 0; function slide() { var ref = dirs[cuenta++ % dirs.length]; document.links[0].href = ref; setTimeout("slide()", 5000); } </script> Fíjate que cuenta está fuera de la función (en este caso método) y tiene valor 0. En la linea: var ref = dirs[cuenta++ % dirs.length]; el valor de cuenta se incrementa después de usarse, entonces la próxima vez valdrá 1. Al hacer % dir.length, se divide por el número de elementos del array, pero nos quedamos con el módulo. Bueno, tampoco voy a aburrirte con mucha teoría, pero poco a poco irás mejorando. Saludos |
| ||||
Entiendo más o menos. Y comparando con el código que yo tengo... Veo que es más o menos igual (solo que yo además tengo ASP), y no logro ver donde me puedo haber equivocado. Te pego el código, para ver si tu (o cualquier otro), me supiera decir que me falta, o que me sobra.
Código:
Y luego tengo lo siguiente:<script language="javascript"> //Aquí cambia los nombres de las imágenes por las tuyas. var imagenes=new Array() var linkref=new Array() <% intI = 0 strSQL = "SELECT * FROM AFILIADOS" Set MRA = MyMensConn.Execute(strSQL) Do While Not MRA.EOF Or MRA.BOF If intI = 0 Then txtSrcInicial = MRA("IMG") txtAltInicial = MRA("ALT") txtUrlInicial = MRA("URL") End If %> imagenes[<%=intI%>]=new Image (88,32); imagenes[<%=intI%>].src="<%=MRA("IMG")%>" imagenes[<%=intI%>].alt="<%=MRA("ALT")%>" linkref[<%=intI%>]=new Link; linkref[<%=intI%>.href="<%=MRA("URL")%>" <% intI = intI + 1 MRA.MoveNext Loop %> cont=0 function presImagen() { if (document.all){ document.getElementById('autoAfiliados').filters.blendTrans.apply() document.getElementById('autoAfiliados').src=imagenes[cont].src document.getElementById('autoAfiliados').alt=imagenes[cont].alt document.getElementById('autoAfiliados').filters.blendTrans.play() document.getElementById('autoHref').href=linkref[cont].href } else { document.images.autoAfiliados.src = imagenes[cont].src document.images.autoAfiliados.alt = imagenes[cont].alt document.links.linkref.href = linkref[cont].href } if (cont < imagenes.length-1) {cont ++} else {cont=0} tiempo=window.setTimeout('presImagen()',5000) //cada (5 seg.) cambia la imagen. } </script>
Código:
<a href="visitar.asp?cat=afiliados&url=<%=txtUrlInicial%>" name="linkref" target=_blank> <img id="autoAfiliados" src="<%=txtSrcInicial%>" alt="<%=txtAltInicial%>" style="filter:blendTrans(duration=3)" width=88 height=31 border=0> |
| ||||
Hola otra vez: meru-kun: Lo primero que ví es una definición del Objeto Link que no sé si tienes definido. Hay un objeto "genérico" que es object, en el que puedes definir cualquier atributo. No sé cuantos objetos hay predefinidos como Image, pero Link creo que no es estandard y por lo tanto deberías definirlo: function Link(href) { this.href = href; } ... o usar el Object. Saludos Última edición por caricatos; 18/10/2003 a las 08:13 |
| ||||
No entiendo nada >_<. ¿Objeto link en donde? Si es que no se por que demonois no funcoina, puesto que lo que he hecho ha sido aplicar el código del cambio de Imagen al de Cambio de Href... >>_<< Me puedes detallar un poco que es eso que no tengo definido >_< Puse: linkref[<%=intI%>]=new Object; Pero me sigue sin funcoinar... Última edición por meru-kun; 18/10/2003 a las 09:53 |
| ||||
Ok. Ya está todo solucionado. Ha sido un despiste mucho más estupido que ese. Era que se me olvido opner un "]" en la linea linkref[<%=intI%>.href="<%=MRA("URL")%>" Siento haberles tenido pendientes para nada. Muchas gracias por la ayuda y la explicacion, de todas formas. |
| |||
me da mucho gusto encontrar la respuesta de lo que estab buscando... muchas gracias... ademas es genial la paciencia que tienen muchachos... los felicito por su colaboracion.. atte, diego santos |