Foros del Web » Programando para Internet » Jquery »

fondo con javascript

Estas en el tema de fondo con javascript en el foro de Jquery en Foros del Web. hola a todos, tengo un problema. el siguiente codigo lo saque de este foro, pero no lo puedo adaptar a mi web.. javascript se llama ...
  #1 (permalink)  
Antiguo 03/05/2015, 13:11
Avatar de fedefrankk  
Fecha de Ingreso: agosto-2007
Mensajes: 871
Antigüedad: 16 años, 8 meses
Puntos: 7
Pregunta fondo con javascript

hola a todos, tengo un problema. el siguiente codigo lo saque de este foro, pero no lo puedo adaptar a mi web..

javascript

se llama : main.js

Código Javascript:
Ver original
  1. $( function(){
  2.     var arrImagenes = [ 'fondo-1.jpg','fondo-2.jpg', 'fondo-3.jpg', 'fondo-4.jpg','fondo-5.jpg','fondo-6.jpg' ];
  3.     var imagenActual = 'fondo-1.jpg';
  4.     var tiempo = 3000;
  5.     var id_contenedor = 'bg'
  6.     setInterval( function(){
  7.         do{
  8.             var randImage = arrImagenes[Math.ceil(Math.random()*(arrImagenes.length-1))];
  9.         }while( randImage == imagenActual )
  10.         imagenActual = randImage;
  11.         cambiarImagenFondo(imagenActual, id_contenedor);
  12.     }, tiempo)
  13. })
  14.  
  15.  function cambiarImagenFondo(nuevaImagen, contenedor){
  16.         var contenedor = $('#' + contenedor);
  17.         //cargar imagen primero
  18.         var tempImagen = new Image();
  19.         $(tempImagen).load( function(){
  20.             contenedor.css('backgroundImage', 'url('+tempImagen.src+')');
  21.         });
  22.         tempImagen.src = 'img/fondos/' + nuevaImagen;
  23.        
  24.     }


mi html index.html

Código HTML:
Ver original
  1. <div id="bg"> </div>

y mi css:

Código CSS:
Ver original
  1. #bg{ background-image:url(img/fondos/fondo-2.jpg);
  2.     position:fixed;
  3.     top:0;
  4.     left:0;
  5.     z-index:-1;
  6. }


Se que en algun lufar le estoy fallando mal. pero no puedo darme cuenta...

la ruta de las imagenes seria asi:


carpeta
index.html
main.js
main.css
img
(dentro de img) fondos
fondo-1.jpg



Bueno espero alguna mano y gracias de antemano saludos a todos

fede
  #2 (permalink)  
Antiguo 03/05/2015, 13:29
 
Fecha de Ingreso: mayo-2015
Mensajes: 9
Antigüedad: 8 años, 11 meses
Puntos: 1
Mensaje Respuesta: fondo con javascript

creo que el error esta en las ultimas lineas.
tempImagen.src = 'img/fondos/' + nuevaImagen; debe ir dentro del load. ya que si lo pones al final no existe cuando la cargas al contenedor.css

Pruebalo asi y comentas.


Código Javascript:
Ver original
  1. $( function(){
  2.     var arrImagenes = [ 'fondo-1.jpg','fondo-2.jpg', 'fondo-3.jpg', 'fondo-4.jpg','fondo-5.jpg','fondo-6.jpg' ];
  3.     var imagenActual = 'fondo-1.jpg';
  4.     var tiempo = 3000;
  5.     var id_contenedor = 'bg'
  6.     setInterval( function(){
  7.         do{
  8.             var randImage = arrImagenes[Math.ceil(Math.random()*(arrImagenes.length-1))];
  9.         }while( randImage == imagenActual )
  10.         imagenActual = randImage;
  11.         cambiarImagenFondo(imagenActual, id_contenedor);
  12.     }, tiempo)
  13. })
  14.  
  15.  function cambiarImagenFondo(nuevaImagen, contenedor){
  16.         var contenedor = $('#' + contenedor);
  17.         //cargar imagen primero
  18.         var tempImagen = new Image();
  19.         $(tempImagen).load( function(){
  20.         tempImagen.src = 'img/fondos/' + nuevaImagen;
  21.             contenedor.css('backgroundImage', 'url('+tempImagen.src+')');
  22.         });
  23.        
  24.     }
  #3 (permalink)  
Antiguo 03/05/2015, 15:48
Avatar de fedefrankk  
Fecha de Ingreso: agosto-2007
Mensajes: 871
Antigüedad: 16 años, 8 meses
Puntos: 7
Pregunta Respuesta: fondo con javascript

Hola, gracias por contestar, no es ese el problema... el problema es que algo en el div de la imagen y css, porque sacando el codigo javascript, tampoco me muestra la imagen de fondo...
si le pongo la imagen al body, y al codigo javascrip le pongo la id "body" no funciona.... no se que puede ser.. .!!!!!!!!!


Gracias por tu repuesta y tiempo.!!
Saludos
fede
  #4 (permalink)  
Antiguo 06/05/2015, 16:38
 
Fecha de Ingreso: noviembre-2010
Ubicación: Córdoba, Argentina
Mensajes: 74
Antigüedad: 13 años, 5 meses
Puntos: 4
Respuesta: fondo con javascript

Hola. Segun entiendo el codigo sirve para hacer una secuencia de imagenes que cambian en el fondo del sitio.

Es eso lo que queres hacer?
__________________
Mike Sto - Programador web independiente
Grupo Latin.net

JSFiddle
  #5 (permalink)  
Antiguo 06/05/2015, 17:51
Avatar de fedefrankk  
Fecha de Ingreso: agosto-2007
Mensajes: 871
Antigüedad: 16 años, 8 meses
Puntos: 7
Pregunta Respuesta: fondo con javascript

Hoal. "elmouse19", si si extactamente eso, cambiar el fondo cada x tiempo, lo he visto andar con el codigo que he dejado.. pero no se como hacerlo en mi hatml.. como fondo..
Tambien he visto jquery que es mas suave de imagen a imagen pero no se si es mas complicado o no
Vos que pensas?..

Muchas gracias por tu tiempo
saludos
fede
  #6 (permalink)  
Antiguo 07/05/2015, 12:02
 
Fecha de Ingreso: noviembre-2010
Ubicación: Córdoba, Argentina
Mensajes: 74
Antigüedad: 13 años, 5 meses
Puntos: 4
Respuesta: fondo con javascript

Sinceramente no veo el error en el codigo.

Pero puedo pasarte un script de jquery, que yo uso en algunos de mis sitios.

Te dejo un ejemplo AQUI

Si te sirve, te digo como usarlo. Es bastante simple
__________________
Mike Sto - Programador web independiente
Grupo Latin.net

JSFiddle
  #7 (permalink)  
Antiguo 07/05/2015, 16:56
Avatar de fedefrankk  
Fecha de Ingreso: agosto-2007
Mensajes: 871
Antigüedad: 16 años, 8 meses
Puntos: 7
Pregunta Respuesta: fondo con javascript

Hola esta buenisimo.!!! eso es lo que necesitaba....
me puedes explicar como implementarlo en mi html y javascript.?

Muchas gracias y gracias por tu tirmpo
saludos
fede
  #8 (permalink)  
Antiguo 11/05/2015, 14:25
 
Fecha de Ingreso: noviembre-2010
Ubicación: Córdoba, Argentina
Mensajes: 74
Antigüedad: 13 años, 5 meses
Puntos: 4
Respuesta: fondo con javascript

Hola.
Perdón la demora. Estuve muy ocupado.

Si puedo pasarte el código, y explicarte. Es muy sencillo en realidad.

Primero, necesitas DESCARGAR ESTA LIBRERIA que corresponde al plugin.

Luego, por supuesto, tienes que descomprimir los archivos y subirlos a tu servidor. Sube todos los archivos en una carpeta del servidor diferenciada. Por ejemplo, yo cree una carpeta de nombre "vegas" en la raiz de public_html, y ahí coloque todos los archivos. Esto servirá para mantener el orden de los archivos, y para que no te falte ninguno a la hora de usar el plugin.

Luego tienes que llamar a la librería con el siguiente código.

Código HTML:
<script src="vegas/jquery.vegas.js"></script> 

Por ultimo, tenes que agregar esto en tu codigo, dentro de las etiquetas head y script.

Código Javascript:
Ver original
  1. /* Vegas */
  2.     $(function() {
  3.         $.vegas('slideshow', {
  4.             delay:3500,
  5.             backgrounds:[
  6.                 { src:'images/backgrounds/bg1.jpg', fade:1000 },
  7.                 { src:'images/backgrounds/bg2.jpg', fade:1000 },
  8.                 { src:'images/backgrounds/bg3.jpg', fade:1000 }
  9.             ]
  10.             })('overlay', {
  11.                 src:'/vegas/overlays/11.png'
  12.             });
  13.     });

Reemplazando por supuesto las lineas:
{ src:'images/backgrounds/bg1.jpg', fade:1000 },
{ src:'images/backgrounds/bg2.jpg', fade:1000 },
{ src:'images/backgrounds/bg3.jpg', fade:1000 }

por la url correspondiente a las imagenes que deseas poner de fondo. Una linea por cada imagen.
El ",fade:1000" es el efecto de transición y su duración, expresada en milisegundos; por lo tanto 1000 milisegundos es igual a 1 segundo.

Esta parte del codigo:
})('overlay', {
src:'/vegas/overlays/11.png'
});

Corresponde a la imagen de overlay que quieras usar. Es decir, una imagen semitransparente que sirve de textura para las imágenes de fondo. Esta imagen se pone sobre todas las imágenes que pongas de fondo, y el plugin cuenta con varias opciones de overlay a elegir. Las podrás ver dentro de la carpeta overlays.

Si no quieres ningún overlay simplemente sacas esa parte del código. Ejemplo.
('overlay', {
src:'/vegas/overlays/11.png'
});


Y quedaría asi:

Código Javascript:
Ver original
  1. /* Vegas */
  2.     $(function() {
  3.         $.vegas('slideshow', {
  4.             delay:3500,
  5.             backgrounds:[
  6.                 { src:'images/backgrounds/bg1.jpg', fade:1000 },
  7.                 { src:'images/backgrounds/bg2.jpg', fade:1000 },
  8.                 { src:'images/backgrounds/bg3.jpg', fade:1000 }
  9.             ]
  10.             })
  11.     });

Cualquier duda, pregúntame.
Saludos.
__________________
Mike Sto - Programador web independiente
Grupo Latin.net

JSFiddle
  #9 (permalink)  
Antiguo 11/05/2015, 16:55
Avatar de fedefrankk  
Fecha de Ingreso: agosto-2007
Mensajes: 871
Antigüedad: 16 años, 8 meses
Puntos: 7
Respuesta: fondo con javascript

Hola. Muchisimas gracias por tu explicacion,
excelente
gracias por tu tiempo.
Saludos
fede

Etiquetas: html, javascript, js
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 07:37.