Ver Mensaje Individual
  #6 (permalink)  
Antiguo 28/04/2012, 17:58
Avatar de zerokilled
zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Web con fondo "cambiante"??

por cierto, si utilizas css3 el código resultante es mucho más sencillo ya que css3 te permite agregar más de una imagen de fondo para un mismo elemento. lo que requieres hacer es indicar múltiples valores url() en la propiedad background-image y luego múltiples coordenadas aleatorias para background-posiiton. cada valor tiene que estar separado por una coma. el procedimiento puede ser uno como el siguiente.
  1. creas un array de rutas a las imagenes.
  2. creas las variables ancho y alto asignandole como valores las dimensiones del viewport, y contador iniciado a 0.
  3. en una función...
    1. crea las variables coorx y coory, asignando un valor aleatorio entre 0 y el valor de las variables ancho y alto. al final de cada número, le concatenas el string "px".
    2. obtienes una posición del array de imagenes con la operación contador módulo longitud del array.
    3. concatenas dicho elemento a la propiedad backgroundImage. debes concatenarlo de forma que el nuevo elemento sea el primero en el string para que éste quede por encima de los demás. recuerda separar cada valor por una coma.
    4. concatena las variables coorx y coory con la propiedad backgroundPosition. al igual que el punto anterior, el nuevo valor debe ser agregado al inicio del string y separar cada grupo por una coma.
    5. sumas uno al contador.
    6. creas un timer (setTimeout) con el nombre de esta misma función. nota: es para hacer una especie de bucle pero controlado por tiempo. un bucle normal te sirve pero dudo mucho que querás colgar el navegador ya que el bucle se interpreta uno tras otro.
  4. invoca la función antes creada.

aún otros detalles que debes manejar en una hoja de estilo como evitar la repetición de la imagen y hacer que el fondo sea fijo. adicionalmente, en el procedimiento se asume que estamos trabajando con el fondo general del documento entero. si no se desea aplicar al fondo del documento, entonces las dimensiones a considerar es en base al elemento en que se asignará los fondos.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Última edición por zerokilled; 28/04/2012 a las 18:05