Foros del Web » Programando para Internet » Jquery »

Cambiar pagina cada cierto tiempo jquery

Estas en el tema de Cambiar pagina cada cierto tiempo jquery en el foro de Jquery en Foros del Web. Hola foreros. Acabo de publicar un tema similar, aunque lo que voy a preguntar aqui, es distinto a lo que expuse en el otro tema. ...
  #1 (permalink)  
Antiguo 21/12/2011, 10:55
Avatar de Oscar_Hidro  
Fecha de Ingreso: septiembre-2011
Ubicación: Aguascalientes, Mexico.
Mensajes: 200
Antigüedad: 12 años, 6 meses
Puntos: 25
Cambiar pagina cada cierto tiempo jquery

Hola foreros. Acabo de publicar un tema similar, aunque lo que voy a preguntar aqui, es distinto a lo que expuse en el otro tema.

En el tema anterior, quiero saber como cambiar estilos css automaticamente cada cierto tiempo. Aqui lo que me interesa saber, es si existe alguna forma de cambiar paginas automáticamente. Es decir, si tengo 3 diseños diferentes de mi página, puedo lograr que estas estén cambiando de forma aleatoria automaticamente cada cierto tiempo(segundos)???

Y si existe la forma, como podria hacerlo?

Saludos a todos, y gracias
  #2 (permalink)  
Antiguo 21/12/2011, 11:57
Avatar de Hugo_Euan  
Fecha de Ingreso: abril-2011
Ubicación: Mérida, Yucatán, México
Mensajes: 193
Antigüedad: 13 años
Puntos: 71
Respuesta: Cambiar pagina cada cierto tiempo jquery

Hola Oscar_Hidro

En cualquiera de tus dos casos necesitas manejar un intervalo de tiempo... esto lo puedes lograr con setInterval... esta función requiere 2 parametros...
el primero es el evento a ejecutar y el segundo es el tiempo de ejecucion...

setInterval(parametro1, parametro2);

para tu primer caso necesitas definir estilos en un JSON
y mediante una funcion irlos cambiando en el tiempo definido que tengas por ejemplo...

Código Javascript:
Ver original
  1. var Styles = {CSSStyle:["background-image", "background-color"], Values:["imagen1.png", "#FFF"]} //variable JSON que contiene el tipo de estilo y su valor en su debido orden
  2. var Interval = 5000 //esto es en milisegundos (equivale a 5 segundos)
  3. var Timer= setInterval("CHANGE_STYLE()", Interval);
  4. var Counter = 0;//Este contador manejara la posicion del estilo que se aplicará
  5. var ThisObjetc = '#objeto'; //aquí va el id o clase del objeto para asignarlo a jQuery
  6.  
  7. function CHANGE_STYLE(){
  8.     if(Counter == Styles.CSSStyle.length){//si Counter es igual a Styles.CSSStyle.length (osea 2 en este caso)
  9.         Counter = 0
  10.     }else{
  11. //aplicamos el estilo al objeto [B]ThisObjetc[/B]
  12.         $(ThisObjetc).css(Styles.CSSStyle[Counter], Styles.Values[Counter]);
  13.         Counter++; 
  14.     }
  15. }

no he probado si funciona.. lo escribí por dar un ejemplo.. ojala no tenga error... pero cabe mencionar que las variables... tienen que estar en un evento de inicializacion.. osea...
dentro del ready de jQuery o window.onLoad de JavaScript.....


Este mismo método puedes emplear para hacer el cambio de tus paginas...
solo pones la ruta dentro de JSON.... y utilizas html(); de jquery...

$(objeto).html("lo que vaya aqui siempre remplaza el contenido que ya tiene el objeto");


que te sea de utilidad...

SALUDOS y ÉXITO !!!


EDITO:

por cierto.. si quieres saber un poco mas de JSON (por si no sabes) te invito a googlear un poco, inclusive te invito a visitar esté tema...

http://www.forosdelweb.com/f13/json-...0/#post3938369

es muy interesante....

SALUDOS !!!
__________________
Se acepta Karma (:

Si Dios con nosotros, quien contra nosotros !!
  #3 (permalink)  
Antiguo 21/12/2011, 12:11
Avatar de Oscar_Hidro  
Fecha de Ingreso: septiembre-2011
Ubicación: Aguascalientes, Mexico.
Mensajes: 200
Antigüedad: 12 años, 6 meses
Puntos: 25
Respuesta: Cambiar pagina cada cierto tiempo jquery

Hugo, muchas gracias por tu aportacion. De inmediato me voy a investigar JSON.

Aprovechando tu aportacion, queria hacerte una consulta. El hecho de que en este tema comente que estoy tratando de cambiar paginas con cierto intervalo de tiempo, es para evitar cambiar los estilos css directamente, puesto que tengo 3 paginas similares en distintos colores, y estas a su vez llevan las mismas imagenes en un slide, pero en su color dependiendo del color de la pagina.

Al querer cambiar las paginas automaticamente, me evitaria tener que cambiar los estilos css y a su vez, las imagenes del slide que corresponden a su color de pagina.

con JSON puedo reemplazar las imágenes del slide como si cambiara una hoja de estilo????
  #4 (permalink)  
Antiguo 21/12/2011, 12:26
Avatar de Hugo_Euan  
Fecha de Ingreso: abril-2011
Ubicación: Mérida, Yucatán, México
Mensajes: 193
Antigüedad: 13 años
Puntos: 71
Respuesta: Cambiar pagina cada cierto tiempo jquery

JSON solo es una pila (conjunto de elementos)... ahi defines... un atriburo.. con su valor....
si tu defines

var JSON = {Images:["image1.jpg", "image2.jpg", "image3.jpg"]} //asi infinitamente

tienes que tener una funcion que controle esos atributos y valores...

supon que tienes

Código HTML:
Ver original
  1. <img id="MyImage" src="arbolitos.jpg" />

definiriar una funcion asi

Código Javascript:
Ver original
  1. var Interval = 5000 //esto es en milisegundos (equivale a 5 segundos)
  2. var Timer= setInterval("CHANGE_IMAGE()", Interval);
  3. var Counter = 0;//Este contador manejara la posicion del estilo que se aplicará
  4. var JSON = {Images:["image1.jpg", "image2.jpg", "image3.jpg"]}
  5.  
  6. function CHANGE_IMAGE(){
  7. if(Counter == JSON.Images.length){
  8. Counter = 0;
  9. }else{
  10. $("#MyImage").attr("src", JSON.Images[Counter]);
  11. }
  12. }

de esta manera tu imagen cambiaria cada 5 segundos.. por las imagenes que tienes definidas en el JSON....
como vez.. solo es usar un poco la imaginacion y la lógica.
hay distintas formas de solucionar cada necesidas... :)


SALUDOS y ÉXITO...
__________________
Se acepta Karma (:

Si Dios con nosotros, quien contra nosotros !!
  #5 (permalink)  
Antiguo 21/12/2011, 12:49
Avatar de Oscar_Hidro  
Fecha de Ingreso: septiembre-2011
Ubicación: Aguascalientes, Mexico.
Mensajes: 200
Antigüedad: 12 años, 6 meses
Puntos: 25
Respuesta: Cambiar pagina cada cierto tiempo jquery

Hermano, muchas gracias por la orientacion. Te mando un fuerte abrazo y disfruta de las fiestas
  #6 (permalink)  
Antiguo 21/12/2011, 12:52
Avatar de Hugo_Euan  
Fecha de Ingreso: abril-2011
Ubicación: Mérida, Yucatán, México
Mensajes: 193
Antigüedad: 13 años
Puntos: 71
Respuesta: Cambiar pagina cada cierto tiempo jquery

Cita:
Iniciado por Oscar_Hidro Ver Mensaje
Hermano, muchas gracias por la orientacion. Te mando un fuerte abrazo y disfruta de las fiestas

Al contrario... un placer poder ayudarte...

FELICES FIESTAS

Por cierto.. yo te recomiendo.. "jugar" con los estilos en vez de tener 3 paginas..
esto debido a que... cuando quieras cambiar un contenido tienes que hacerlo en las 3.. es mejor tener solo 1...


SALUDOS !!!

__________________
Se acepta Karma (:

Si Dios con nosotros, quien contra nosotros !!
  #7 (permalink)  
Antiguo 21/12/2011, 13:13
Avatar de Oscar_Hidro  
Fecha de Ingreso: septiembre-2011
Ubicación: Aguascalientes, Mexico.
Mensajes: 200
Antigüedad: 12 años, 6 meses
Puntos: 25
Respuesta: Cambiar pagina cada cierto tiempo jquery

Cita:
Por cierto.. yo te recomiendo.. "jugar" con los estilos en vez de tener 3 paginas..
esto debido a que... cuando quieras cambiar un contenido tienes que hacerlo en las 3.. es mejor tener solo 1...
Es lo que estaba analizando. Las hojas de estilo en mis 3 paginas son exactamente iguales, con la diferencia de colores en algunos apartados. Puedo manejar un solo css, pero como modificar un solo elemento de un class o id, sin necesidad de modificar todas las propiedades.

Por ejemplo, como modificar el border-bottom de la clase .info? En el ejemplo que me diste maneja los cambios en un entorno global en la pagina por decirlo de alguna manera, y estoy buscando como modificar solamente algunos elementos.

Código Javascript:
Ver original
  1. var Styles = {CSSStyle:["background-image", "background-color"], Values:["imagen1.png", "#FFF"]}
  #8 (permalink)  
Antiguo 21/12/2011, 13:14
Avatar de Oscar_Hidro  
Fecha de Ingreso: septiembre-2011
Ubicación: Aguascalientes, Mexico.
Mensajes: 200
Antigüedad: 12 años, 6 meses
Puntos: 25
Respuesta: Cambiar pagina cada cierto tiempo jquery

Cita:
Iniciado por Oscar_Hidro Ver Mensaje
Es lo que estaba analizando. Las hojas de estilo en mis 3 paginas son exactamente iguales, con la diferencia de colores en algunos apartados. Puedo manejar un solo css, pero como modificar un solo elemento de un class o id, sin necesidad de modificar todas las propiedades.

Por ejemplo, como modificar el border-bottom de la clase .info? En el ejemplo que me diste maneja los cambios en un entorno global en la pagina por decirlo de alguna manera, y estoy buscando como modificar solamente algunos elementos.

Código Javascript:
Ver original
  1. var Styles = {CSSStyle:["background-image", "background-color"], Values:["imagen1.png", "#FFF"]}
o como mandar llamar a otro css en el script con json?

:P
  #9 (permalink)  
Antiguo 21/12/2011, 13:24
Avatar de Oscar_Hidro  
Fecha de Ingreso: septiembre-2011
Ubicación: Aguascalientes, Mexico.
Mensajes: 200
Antigüedad: 12 años, 6 meses
Puntos: 25
Respuesta: Cambiar pagina cada cierto tiempo jquery

Hermano, una disculpa, no habia analizado bien el codigo que me mandaste. Es simplemente referenciar al objeto. Pero es posible llamar a un css en vez el objeto?

Y ya nada mas para terminar, es posible hacer ese cambio con una trs?

Última edición por Oscar_Hidro; 21/12/2011 a las 13:37
  #10 (permalink)  
Antiguo 21/12/2011, 13:58
Avatar de Hugo_Euan  
Fecha de Ingreso: abril-2011
Ubicación: Mérida, Yucatán, México
Mensajes: 193
Antigüedad: 13 años
Puntos: 71
Respuesta: Cambiar pagina cada cierto tiempo jquery

Cita:
Iniciado por Oscar_Hidro Ver Mensaje
Y ya nada mas para terminar, es posible hacer ese cambio con una trs?
con una que ? jeje.. disculpa no entendí
-------------------------------------------------------------------------------------

Si.. simplemente es referenciar el objeto....
el css.. se aplica a un objeto.. asi que a fuerza necesitas el objeto (elemento) no lo puedes quitar

Pero si quisieras iterar entre varios elementos....
puedes crear una variable GLOBAL que cambié segun tu lo necesites.
También los elementos los puedes incluir en el JSON
__________________
Se acepta Karma (:

Si Dios con nosotros, quien contra nosotros !!
  #11 (permalink)  
Antiguo 21/12/2011, 16:46
Avatar de Oscar_Hidro  
Fecha de Ingreso: septiembre-2011
Ubicación: Aguascalientes, Mexico.
Mensajes: 200
Antigüedad: 12 años, 6 meses
Puntos: 25
Respuesta: Cambiar pagina cada cierto tiempo jquery

Cita:
Y ya nada mas para terminar, es posible hacer ese cambio con una trs?
Jaja, lo que queria decir es que si ese cambio se puede hacerse con un efecto de transision estilo fade???

Y respecto a declarar la variable global, he intentado formarla para referenciar a varios objetos a la vez, y naaaaada que me sale

Lo mismo quiero implementar otro estilo para que me me lo cambie a ese despues de haber hecho el primer cambio de estilos
  #12 (permalink)  
Antiguo 26/12/2011, 14:03
Avatar de Hugo_Euan  
Fecha de Ingreso: abril-2011
Ubicación: Mérida, Yucatán, México
Mensajes: 193
Antigüedad: 13 años
Puntos: 71
Respuesta: Cambiar pagina cada cierto tiempo jquery

Hola de nuevo... pues.. :)
con respecto a la transicion.. claro que puedes crearla...
jQuery tiene una rutina fx.. con la que puedes crear distintos tipos de transiciones...
la rutina se llama animate y la sintaxis de uso es sumamente sencilla...

por ejemplo.. suponte que tienes un objeto imagen

Código HTML:
Ver original
  1. <img id="MyImage" src="image1.png" />

a ese elemento y cualquier otro puedes darle un efecto.. referenciando su id a un objeto jQuery


Código Javascript:
Ver original
  1. $("#MyImage").animate({"opacity":1}, 2000);

por ende si la imagen ya esta visible.. el efecto no se verá.. por lo que antes.. tienes que eventuar que el objeto tenga una opacidad de 0
esto lo puedes lograr referenciando el objeto 2 veces o haciendo un encadenamiento, que es mejor..

REFERENCIANDO 2 VECES EL MISMO OBJETO (ES CORRECTO, PERO NO ES PERFORMACE DE CODIGO)
Código Javascript:
Ver original
  1. $("MyImage").css("opacity", 0);
  2. $("MyImage").animate({"opacity":1} 2000);

ENCADENAMIENTO CON UNA SOLA REFERENCIA DE OBJETO
Código Javascript:
Ver original
  1. $("MyImage").css("opacity", 0).animate({"opacity":1} 2000);

de esta forma logras tu transición...
esto es solo un ejemplo... existen diversas maneras de aplicar un efecto.. segun el momento en que lo necesites....

con respecto a lo de tu variable global.. pues...

1.- habria que ver de que manera lo haces...
2.- los elementos dentro de esa variable deben contener los mismos atributos a cambiar.(por tratarse de una variable global... por ende cambian todos los elementos al cambiar 1 elemento)

SALUDOS y ÉXITO
__________________
Se acepta Karma (:

Si Dios con nosotros, quien contra nosotros !!
  #13 (permalink)  
Antiguo 09/01/2012, 18:11
Avatar de Oscar_Hidro  
Fecha de Ingreso: septiembre-2011
Ubicación: Aguascalientes, Mexico.
Mensajes: 200
Antigüedad: 12 años, 6 meses
Puntos: 25
Respuesta: Cambiar pagina cada cierto tiempo jquery

Hermano, muchas gracias. Me tarde un poco en responder por aquello de las vacaciones. Efectivamente he logrado mi objetivo con mucha ayuda de tu parte.

Saludos!

Etiquetas: cambiar-paginas-auto
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:00.