Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: basickdagger en 15 Julio 2011, 02:20 am



Título: Cambiar fondo de pagina web cada cierto tiempo
Publicado por: basickdagger en 15 Julio 2011, 02:20 am
hola que tal, eh visto paginas web que su fondo cambia cada cierto tiempo me gustaria saber si alguien sabe como,.. tengo mi css pero creo que eso se hace con javascript si ocupan algo de mi codigo pidanmelo... por lo de "no hacemos la tarea " pero no se que parte de codigo necesiten.

 gracias de antemano


Título: Re: Cambiar fondo de pagina web cada cierto tiempo
Publicado por: dark_sargon en 15 Julio 2011, 03:57 am
¿Hablas de que el fondo cambie mientras el visitante está online o que el fondo cambie dependiendo de una hora, un día o fecha específica?


Título: Re: Cambiar fondo de pagina web cada cierto tiempo
Publicado por: basickdagger en 15 Julio 2011, 23:36 pm
mientras esta en linea... vi algunos ejemplos y me lo plantean asi pero no funciona..

Código
  1. var num_img=1;
  2.  
  3. function cambiar()
  4. {      
  5.  
  6.  
  7. javascript:document.body.style.background="img/'+ num_img +'.jpg";
  8.  
  9.  
  10. num_img=num_img+1;
  11.  
  12. if (num_img>7)
  13. {
  14. num_img=1
  15. }
  16. }
  17.  
  18.  
  19. setInterval("cambiar()",7000);
  20.  


donde num_img son el nombre de las imagenes dentro d ela carpeta img y cada imagen tiene un numero empiesa del 1 hasta el 7 y todas con la extension jpg, el 2000 son los milisegundos, osea cada 7 segundos va cambiar la imagen... pero estoy atoradoo no tengo idea  :S



Título: Re: Cambiar fondo de pagina web cada cierto tiempo
Publicado por: dark_sargon en 17 Julio 2011, 05:26 am
Bueno, amigo. Hice un script para que veas cómo funciona con colores. Yo lo entiendo como una máquina de estados ;D

Tú ponle imagenes en vez de colores... recuerda precargar laas imagenes antes de ejecutar el script.
Código:
<script language="javascript">

   var numero = 0;
 
   function cambiar()
   {
      if(numero==0){
         document.body.style.backgroundColor="red";
         numero = 1;
      }else if(numero==1){
         document.body.style.backgroundColor="green";
         numero = 2;
      }else if(numero==2){
         document.body.style.backgroundColor="blue";
         numero = 0;
      }
   }
 
   setInterval("cambiar()",2000);

</script>

Saludos.


Título: Re: Cambiar fondo de pagina web cada cierto tiempo
Publicado por: basickdagger en 18 Julio 2011, 23:55 pm
gracias por la respuesta, eh probado el codigo que mostraste funciona pero al querer cambiarlo por imagenes no funciona

cambio
Código:
document.body.style.backgroundColor="green";
 
 
lo cambio por

Código:
  document.body.style.backgroundImage='url(img/2.jpg)';

y no funciona

y diculpa lode cargar las imagenes antes no se bn a q te refieras o en q momento hago la precarga


Título: Re: Cambiar fondo de pagina web cada cierto tiempo
Publicado por: basickdagger en 19 Julio 2011, 23:26 pm
alguien tendra una respuesta?? =( :(


Título: Re: Cambiar fondo de pagina web cada cierto tiempo
Publicado por: darkriz en 4 Junio 2013, 07:52 am
Perdonad, al final siempre hay maneras de hacerlo, aunque quizá he llegado tarde, aquí les va un código que encontré en foros del web punto com
No lo he implementado, pero dicen que funciona, lo pondré a prueba a ver qué tal...

<!--- codigo --->
add_action('wp_print_styles', function() {
 
    #Carpeta donde se encuentra los fondos (/wp-content/themes/[...]).
    $directorio = '/images/background/';
   
    #---- No editar  ---------------------------------------------------------
 
    list($dia, $imagen) = explode(';', urldecode($_COOKIE['background']));
 
    if ($dia != date('d')) {
       
        $fondos = scandir(get_stylesheet_directory() . $directorio);
        $fondos = array_slice($fondos, 2);
        $imagen = $fondos[array_rand($fondos)];
       
        setcookie('background', date('d') . ';' . $imagen);
   
    }
   
    $path = get_bloginfo('template_directory') . $directorio;   
    echo "<style type='text/css'>body { background: url('$path$imagen') top center no-repeat; }</style>";
 
});

<!--- /codigo --->


Título: Re: Cambiar fondo de pagina web cada cierto tiempo
Publicado por: basickdagger en 4 Junio 2013, 19:56 pm
Perdonad, al final siempre hay maneras de hacerlo, aunque quizá he llegado tarde, aquí les va un código que encontré en foros del web punto com
No lo he implementado, pero dicen que funciona, lo pondré a prueba a ver qué tal...

<!--- codigo --->
add_action('wp_print_styles', function() {
 
    #Carpeta donde se encuentra los fondos (/wp-content/themes/[...]).
    $directorio = '/images/background/';
   
    #---- No editar  ---------------------------------------------------------
 
    list($dia, $imagen) = explode(';', urldecode($_COOKIE['background']));
 
    if ($dia != date('d')) {
       
        $fondos = scandir(get_stylesheet_directory() . $directorio);
        $fondos = array_slice($fondos, 2);
        $imagen = $fondos[array_rand($fondos)];
       
        setcookie('background', date('d') . ';' . $imagen);
   
    }
   
    $path = get_bloginfo('template_directory') . $directorio;   
    echo "<style type='text/css'>body { background: url('$path$imagen') top center no-repeat; }</style>";
 
});

<!--- /codigo --->



hahaha viejisimo el tema... cuando aun estaba en la escuela hahah eso lo resolví hace tiempo con jquery... y existe un plugin de wordpress donde puedes hacerlo también...