Foros del Web » Programando para Internet » Javascript »

Cambiar Fondo segun Resolucion

Estas en el tema de Cambiar Fondo segun Resolucion en el foro de Javascript en Foros del Web. Primero, quiero aclarar que yo no se HTML ni CSS ni nada, por eso decidi hacer un tema nuevo, por que el los que se ...
  #1 (permalink)  
Antiguo 08/07/2010, 07:24
 
Fecha de Ingreso: julio-2010
Mensajes: 7
Antigüedad: 13 años, 9 meses
Puntos: 0
Pregunta Cambiar Fondo segun Resolucion

Primero, quiero aclarar que yo no se HTML ni CSS ni nada, por eso decidi hacer un tema nuevo, por que el los que se relacionan ponen solo la parte del codigo en el que tienen problemas y no se donde va y me disculpo por eso, pero quiero aprender y me las he arreglado para hacer [URL="http://sourcecodeengine.zobyhost.com/Inuyasha/Index.html"]esto[/URL] (no pongo el codigo por que lo pueden ver con cualquier navegador), repito sin saber HTML ni CSS, lo que quiero es que segun la resolucion del usuario aplique un fondo, para 1024X768 se llama GInuyasha1.jpg y para 800X600 GInuyasha2.jpg, por favor tomen en cuetna que no se HTML ni CSS, y les pido me expliquen como solucionarlo de la manera mas simple, abran la pagina solo con Opera por que en Internet Explorer sale un cuadro blanco, quisiera quitarlo tambien, gracias de antemano
  #2 (permalink)  
Antiguo 08/07/2010, 09:11
Avatar de Bolsomaniaco  
Fecha de Ingreso: julio-2008
Ubicación: Montevideo, Uruguay
Mensajes: 311
Antigüedad: 15 años, 10 meses
Puntos: 8
Respuesta: Cambiar Fondo segun Resolucion

Hola, entra a http://sourcecodeengine.zobyhost.com/Inuyasha/images/ y te darás cuenta que ahi esta el fondo que mostras de la pagina. (GInuyasha.jpg).
En esa carpeta deberias colocar las dos imagenes que tu queres GInuyasha1.jpg y GInuyasha2.jpg.
Ya que decis que no tenes mucho conocimiento html/css, lo que podes hacer es copiar dos veces la pagina que tenes ahora (hablo del contenido para que sean iguales).

Una la usarias para los usuario que necesiten 1024x768 Ej (Index1) y otra para los que usen 800x600 (Index) con su fondos respectivos.
En cada una de ellas buca donde dice:

body
{
background-color: #FFFFFF;
background-image: url(images/GInuyasha.jpg);
color: #000000;
overflow-y: scroll;
}

y cambias GInuyasha.jpg por GInuyasha1.jpg o GInuyasha2.jpg.

Por defecto yo dejaria la de 800x600 (Index) y le haría un link que diga cambia a resolucióin 1024x768y le pones la dirección de la otra web (Index1).

Lo de el espacio en blanco, deberias borrar:

</div>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
</div>

que esta debajo (para que te des cuenta) de:

<br clear=all id=lgpd>
<div id=lga>
<div style="padding:28px 0 3px">
</div> (no lo borres)
</div> (no lo borres)

Saludos!
__________________
Bolsomaniaco

¿Que Cocino?
www.noticiasdeluruguay.com
  #3 (permalink)  
Antiguo 08/07/2010, 09:36
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 1 mes
Puntos: 406
Respuesta: Cambiar Fondo segun Resolucion

Tener mas de una página solo por cambiar el fondo o_O no se me hace viable...

Lo que quieres hacer es sencillo con javascript....
Código Javascript:
Ver original
  1. function changeBackground() {
  2. var fondos = {
  3. '800'=>'imagen800.jpg',
  4. '1024'=>'imagen1024.jpg',
  5. '1280'=>'imagen1280.jpg',
  6. 'default'=>'imagenparaotrasresoluciones.jpg'
  7. }
  8.  
  9. var ancho = screen.width;
  10.  
  11. if (parseInt(ancho) > parseInt(800) && parseInt(ancho) < parseInt(1280)) {
  12.  document.body.style.backgroundImage= "url("+ fondos['ancho'] +");";
  13. }else {
  14.  document.body.style.backgroundImage= "url("+ fondos['default'] +");";
  15. }
  16. }

Despues en el body agregas esto
Código HTML:
Ver original
  1. <--! Despues del header en el tag body agregas lo siguiente -->
  2. <body onload="javascript:changeBackground()">


Verifica antes el código que acabo de poner, ya que lo he hecho sobre la marcha y no eh verificado si tiene errores

Actualización: Se me olvidaba que no sabes nada de HTML >.<, al final tendrias que tener algo así, obviamente modificalo a tus necesidades...
Código HTML:
Ver original
  1. <title>Titulo de tu pagina</title>
  2. <script type="text/javascript">
  3. function changeBackground() {
  4. var fondos = {
  5. '800'=>'imagen800.jpg',
  6. '1024'=>'imagen1024.jpg',
  7. '1280'=>'imagen1280.jpg',
  8. 'default'=>'imagenparaotrasresoluciones.jpg'
  9. }
  10.  
  11. var ancho = screen.width;
  12.  
  13. if (parseInt(ancho) > parseInt(800) && parseInt(ancho) < parseInt(1280)) {
  14. document.body.style.backgroundImage= "url("+ fondos['ancho'] +");";
  15. }else {
  16.  document.body.style.backgroundImage= "url("+ fondos['default'] +");";
  17. }
  18. }
  19. <--! Despues del header en el tag body agregas lo siguiente -->
  20. <body onload="javascript:changeBackground()">
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)

Última edición por Nemutagk; 08/07/2010 a las 09:45
  #4 (permalink)  
Antiguo 08/07/2010, 09:43
 
Fecha de Ingreso: julio-2010
Mensajes: 14
Antigüedad: 13 años, 9 meses
Puntos: 1
Respuesta: Cambiar Fondo segun Resolucion

body
{
background-color: #FFFFFF;

color: #000000;
overflow-y: scroll;
}
body.bg1024x768{
background-image: url(images/GInuyasha1.jpg);
}
body.bg800x600{
background-image: url(images/GInuyasha2.jpg);
}

y en tu pagina has algo asi:

<html>
<head>
<title>
</title>
<script>
function(){
if (screen.width==1024)
document.body.className="bg1024x768";
else if (screen.width==800)
document.body.className="bg800x600";
}
</script>
</head>
<body>
</body>
</html>


eso haria que tu pagina lo hiciera automaticamente, espero y te sirva de algo
  #5 (permalink)  
Antiguo 08/07/2010, 11:04
 
Fecha de Ingreso: julio-2010
Mensajes: 7
Antigüedad: 13 años, 9 meses
Puntos: 0
Pregunta Respuesta: Cambiar Fondo segun Resolucion

Disculpen pero he analizado su codigo y pues encuentro una cierta similitud a C# y la verdad no cambia el fondo, y pues edite lo que me pasaron y segun yo me quedo algo asi:

function Fondo()
{
var ancho = screen.width;
if (parseInt(ancho) > parseInt(800) && (parseInt(ancho)) < (parseInt(1024)))
{
document.body.style.backgroundImage= "url(images/GInuyasha1.jpg)";
}
else
{
document.body.style.backgroundImage= "url(images/GInuyasha2.jpg)";
}
}

y lo mando llamar en onload...pero sigue sin cambiar y pienso que hice algo mal en:
"url(images/GInuyasha2.jpg)";

pero por si las dudas, si fueran tan amables de guardar la pagina poner el codigo y subirlo se los agradeceria mucho, pues la verdad pienso que puse su codigo en donde no hiba, aun no he actualizado la pagina, lo estoy haciendo en mi compu

Gracias a todos por su ayuda
  #6 (permalink)  
Antiguo 08/07/2010, 12:11
 
Fecha de Ingreso: julio-2010
Mensajes: 7
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Cambiar Fondo segun Resolucion

jajaj..disculpenme pero ya se cual es el "error", es que teniendo la resolucion de 1024X768 abria la pagina y luego cambiaba la resolucion y actualizaba y por eso no cambiaba la imagen...disculpen mi ignorancia gracias a todos por ayudarme, em si no fuera mucha molestia quisiera que me ayudaran a quitar el cuadro blanco que aparece con IE y a agregar la barra que aparece arriba en google(la web,images,videos,etc), ya copie el codigo de la barra(apenas me di cuenta de una herramienta fantastica de opera Dragonfly) y copie el codigo que viene pero no aparece, incluso antes de cambiar el fondo (cuando copie el codigo tal cual esta en google no salia), gracias

Última edición por BeethIsaRoGa; 08/07/2010 a las 12:28 Razón: Actualize la pagina
  #7 (permalink)  
Antiguo 08/07/2010, 13:41
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 1 mes
Puntos: 406
Respuesta: Cambiar Fondo segun Resolucion

El problema es que en el código que tu modificaste solo tendrás 2 imágenes de fondo, mientras que el que yo publique tendrás n imágenes, dependiendo de las resoluciones que tu quieras "soportar", para las demás resoluciones esta la imagen "default", como puedes observar en el código esta soportado 800x600, 1024*768 y 1280*1024 y cada una tener una imagen, en el tuyo solo tienes una imagen para 800*600 y 1024*768 y otra para las demás resoluciones, aunque si te funciona a así perfecto, solo quería aclarar el código que te mostré al que tienes ahorita

Actualización: Acabo de entrar a tu página y ver el código fuente, y o dios, tienes un marañal de código HTML que no tiene ni pies ni cabeza, antes de seguir seria mejor que checaras eso y mejorar el código (yo diría cambiar por completo), es impresionante ver que Chrome y Firefox pueda interpretar tal código =/
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)

Última edición por Nemutagk; 08/07/2010 a las 13:50
  #8 (permalink)  
Antiguo 08/07/2010, 15:33
 
Fecha de Ingreso: julio-2010
Mensajes: 7
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Cambiar Fondo segun Resolucion

si tienes razon, es un monton de codigo pero pues asi esta google, y mi idea era crear un "google" con fondo cambiado y supongo que si le quito el codigo que copie, dejara de funcionar, jejje resulto otro problema...

actualize la pagina y no la cheke pensando que si funkaba y la verdad es que en opera no carga el fondo, pero en Google Chrome, Firefox e IE(Aun muestra el cuadro blanco) si la carga, y pienso que algun codigo no es compatible, pues he oido que javascript y jscript no sol lo mismo, y cada navegador es compatible solo con uno de estos dos. Gracias y disculpen las molestias

Última edición por BeethIsaRoGa; 08/07/2010 a las 15:40
  #9 (permalink)  
Antiguo 08/07/2010, 16:23
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 1 mes
Puntos: 406
Respuesta: Cambiar Fondo segun Resolucion

que tal, bueno, antes de responder al problema con opera creo que es importante decir que efectivamente Javascript no es lo mismo JScript, el segundo (JScript), es propiedad de Microsoft y fue diseñado para IE y Windows Script Host, por lo tanto, con el que tendrías problemas seria con IE, no con Opera...

Ahora, efectivamente, hay un problema con Opera en el código, sin embargo no se si sea por que yo estoy en Debian (GNU/Linux) o es un comportamiento general de Opera, cuando se solicita el ancho de la ventana lo toma mal, aparte, que en mi caso, tengo 2 monitores conectados por lo cual, me toma el ancho de los dos monitores (2560px)... en este caso es mejor tomar el alto de la ventana "screen:height" para verificar la resolución del monitor...
Código Javascript:
Ver original
  1. function changeback() {
  2.                 var ancho = screen.height;
  3.  
  4.                 var fondo = {
  5.                     '1280':'back_01.jpg',
  6.                     '1024':'back_02.jpg'
  7.                 }
  8.  
  9.                 document.body.style.backgroundImage = 'url("background/' + fondo[ancho] + '")';
  10.                 alert (ancho);
  11.             }
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #10 (permalink)  
Antiguo 08/07/2010, 19:29
Avatar de Bolsomaniaco  
Fecha de Ingreso: julio-2008
Ubicación: Montevideo, Uruguay
Mensajes: 311
Antigüedad: 15 años, 10 meses
Puntos: 8
Respuesta: Cambiar Fondo segun Resolucion

Supuse que eran dos imagenes distintas
__________________
Bolsomaniaco

¿Que Cocino?
www.noticiasdeluruguay.com
  #11 (permalink)  
Antiguo 08/07/2010, 21:19
 
Fecha de Ingreso: julio-2010
Mensajes: 7
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Cambiar Fondo segun Resolucion

Gracias Nemutagk por contestarme, pero tengo una duda, tu codigo esta "suponiendo" que el navegador tiene el tamaño de la pantalla, ¿que pasaria si lo tengo con una tamaño diferente de 1280 y 1024?
  #12 (permalink)  
Antiguo 08/07/2010, 21:27
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 1 mes
Puntos: 406
Respuesta: Cambiar Fondo segun Resolucion

mmm hasta el momento no he visto ningún código que logre "suponer" algo, siempre es blanco o negro, no hay matices, lo que hace el código original es que obtiene el tamaño real de la pantalla (sobre esto depende como actué el navegador y su respuesta, por lo tanto, la respuesta puede variar de navegador a navegador), después verifica si esta dentro de un rango, al final de cuentas lo que obtienes es un numero, así que es fácil saber si esta dentro del rango de 800 a 1280 (para las 3 resoluciones que en teoría tendrías que tener ya preparadas), si el tamaño de pantalla es meno a 800 o mayor a 1280 llama a una cuarta imagen, que en este caso podríamos llamar genérica para que se muestre en todas las demás resoluciones que no están incluidas en el array, así en caso de que quieras agregar mas resoluciones simplemente tienes que crear las imágenes, agregarlas al array y después ampliar el numero máximo de resolución soportada ( que podria ser 1920x1080 en vez de 1280x1024)

Espero que se entienda lo que realmente hace el código original que publique

Para que te sea mas fácil entender comentaré el código original
Código Javascript:
Ver original
  1. function changeBackground() {
  2. //Creamos un array en el cual estarán las resoluciones para las cuales
  3. //tienes alguna imagen ya preparada
  4. var fondos = {
  5. '800'=>'imagen800.jpg',
  6. '1024'=>'imagen1024.jpg',
  7. '1280'=>'imagen1280.jpg',
  8. //Al final, agregamos una imagen mas para utilizarla cuando el usuario que visita
  9. //la página tiene alguna resolución diferente a 800x600,1024x768 o 1280x1024
  10. 'default'=>'imagenparaotrasresoluciones.jpg'
  11. }
  12.  
  13. //Ahora, obtenemos el ancho de la ventana
  14. var ancho = screen.width;
  15.  
  16. //Verificamos que este dentro del rango, como vez, es fácil saber si la resolución del visitante
  17. //esta dentro del rango que previamente preparamos, ya que solo puede existir 3 coincidencias dentro del rango
  18. if (parseInt(ancho) >= parseInt(800) && parseInt(ancho) <= parseInt(1280)) {
  19. //si esta dentro del rango, entonces quiere decir que existe una imagen para dicha resolución
  20.  document.body.style.backgroundImage= "url("+ fondos[ancho] +");";
  21. }else {
  22. //Si el ancho de ventana no entra en el rango quiere decir que no tenemos ninguna imagen preparada, así que
  23. //vamos a utilizar una imagen genérica para que las demás resoluciones no se queden sin una imagen de fondo
  24.  document.body.style.backgroundImage= "url("+ fondos['default'] +");";
  25. }
  26. }
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)

Última edición por Nemutagk; 08/07/2010 a las 21:36
  #13 (permalink)  
Antiguo 15/07/2010, 06:01
 
Fecha de Ingreso: diciembre-2007
Ubicación: valencia
Mensajes: 38
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Cambiar Fondo segun Resolucion

Muy buenas!!!.. yo deseo agregar algo mas, pero esta vez cambiando la imagen cada vez que se ingrese a la pagina, el problema que tengo es que no manejo bien los anchos y altos, voy a utilizar 3 imagenes, distintas, del mismo tamaño, pero claro, se me va de ancho y alto y no se ajusta a mi ventana, no he utilizado los códigos que han escrito arriba. Estas imágenes son de 1900x1000 px.

Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
<
html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es-es" lang="es-es" >
<
head>
<
title>mi pagina</title>

<
meta http-equiv="content-type" content="text/html;charset=iso-8859-1" />
    
    <
link type="text/css" rel="stylesheet" href="estilos/style.css" />
    
<
script language="JavaScript">
var 
theImages = new Array()

theImages[0] = '001.jpg'
theImages[1] = '002.jpg'
theImages[2] = '003.jpg'

var 0
var theImages.length;
var 
preBuffer = new Array()
for (
0i<pi++)
{
preBuffer[i] = new Image()
preBuffer[i].src theImages[i]
}

var 
whichImage Math.round(Math.random()*(p-1));
function 
showImage()
{
document.write('<img src="'+theImages[whichImage]+'">');
}

</script>

</head>

<body>

<script language="JavaScript">
showImage();
</script>


Hola!!

</body>
</html> 

En mi .css :

body
{
margin: 0px;
padding: 0px;
}


Tener en cuenta algo: mi resolución es de 1440 x 900px.
Pero porqué coloco imagenes de 1900 x 1000??, porque si un usuario entra desde una resolución mayor que la mia.. solo se expande la imagen... y se recortará solo hasta su resolución de pantalla.

Mi problema, es q no puedo controlar los anchos y altos, si ven en mi .css he escrito margin y padding : 0px;
pero aún así se me va, mi imagen se va a recortar, no pasa nada y eso es lo q quiero.

Muchas gracias y perdón por tanto rollo!!

Saludos a todos!!
  #14 (permalink)  
Antiguo 15/07/2010, 09:10
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 1 mes
Puntos: 406
Respuesta: Cambiar Fondo segun Resolucion

No entiendo muy bien lo que quieres hacer, como que se te va el ancho y alto? ajustar a la ventana? ahora, en CSS margin y padding absolutamente no tiene nada que ver con el alto y ancho de x objeto (sea imagen, div, etc)

Se mas especifico y da mas detalles
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #15 (permalink)  
Antiguo 18/07/2010, 07:32
 
Fecha de Ingreso: diciembre-2007
Ubicación: valencia
Mensajes: 38
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Cambiar Fondo segun Resolucion

ya lo logré!!!..

Espero que me sigan y así lo puedan probar en casa.
El código php es el mismo, e incluso le he agregado mas fotos.. unos 6 ó 7..

pero en .CSS se añade algo mas.

body
{
margin: 0px;
padding: 0px;
overflow: hidden; /*ESTE OVERFLOW: HIDDEN ES LO QUE ME FALTABA!!!!*/
outline: 0px;
border: 0px;
font-size: 100%;
vertical-align: baseline;
background: transparent;
}

y nada más!!. me gustaría que lo probaran y vayan haciendo F5, para que vean como cambian las imágenes según se refresca.
Procurar que este pequeño código:

<script language="JavaScript">
showImage();
</script>

lo coloquen al final del cuerpo.. y ya desde el inicio del body vayan creando sus div's.
y otra cosa, crear las imágenes de ese tamaño que les he dicho ahi arriba.

nemutagk, claro que el margin y padding es importante, pq sino la imagen no se verá en todo la pantalla, sino se creará un marco blanco, (si es q no le has puesto un background-color:#.........). has la prueba con el margin: 0px; padding: 0px; y luego lo quitas... y verás como tus imágenes cambian con ese marco blanco que te menciono.

saludos!!!

alandres
  #16 (permalink)  
Antiguo 27/10/2010, 11:10
 
Fecha de Ingreso: octubre-2010
Mensajes: 11
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Cambiar Fondo segun Resolucion

Hola nemutagk! Después de horas de probar decidí pedir ayuda. No puedo hacer funcionar tu script. Esto es lo que puse:

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2.  
  3. function changeBackground() {
  4.  
  5. var fondos = {
  6. '1024':'bg_body1024.jpg',
  7. '1280':'bg_body1280.jpg',
  8. '1440':'bg_body1440.jpg',
  9. 'default':'bg_body1920.jpg'
  10. }
  11.  
  12.  
  13. var ancho = screen.width;
  14.  
  15.  
  16.  
  17. if (parseInt(ancho) >= parseInt(1024) && parseInt(ancho) <= parseInt(1440)) {
  18.  
  19. document.body.style.backgroundImage= "url("+ fondos[ancho] +");";
  20. } else {
  21.  
  22.  
  23. document.body.style.backgroundImage= "url("+ fondos['default'] +");";
  24. }
  25. }
  26. </script>

Hay algo mal que no está bien, en realidad no pasa nada cuando cargo la página.

Agradezco cualquier sugerencia
  #17 (permalink)  
Antiguo 27/10/2010, 15:02
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 1 mes
Puntos: 406
Respuesta: Cambiar Fondo segun Resolucion

Pon el código completo... ahora, tira algún error?, como estas llamando a la función?, porque supongo que lo estas llamando no? =P

En el tag <body> tienes que agregar en onload="changeBackground()"...
Código HTML:
Ver original
  1. <body onload="changeBackground()">
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #18 (permalink)  
Antiguo 31/10/2010, 21:35
 
Fecha de Ingreso: octubre-2010
Mensajes: 11
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Cambiar Fondo segun Resolucion

Sí, eso también lo incluí. Pareciera estar todo ok, por eso no puedo encontrar qué pasa. Y está bueno el escript, es el mejor que encontré en google.
  #19 (permalink)  
Antiguo 31/10/2010, 23:01
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 1 mes
Puntos: 406
Respuesta: Cambiar Fondo segun Resolucion

Si no muestras el código que generaste es imposible ayudarte, el código posteado (el que esta comentado) lo probé en su momento y funciono, así que es algo que esta en tu código
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #20 (permalink)  
Antiguo 01/11/2010, 11:10
 
Fecha de Ingreso: octubre-2010
Mensajes: 11
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Cambiar Fondo segun Resolucion

Mira Nemutagk, este es el html, las imágenes están en el mismo directorio que el archivo.

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4. <title>Black Box Bar</title>
  5.  
  6. <link href="blackBoxStyle.css" rel="stylesheet" type="text/css" />
  7.  
  8. <script language="javascript" type="text/javascript">
  9.  
  10. function changeBackground() {
  11.  
  12. var fondos = {
  13. '1024':'bg_body1024.jpg',
  14. '1280':'bg_body1280.jpg',
  15. '1440':'bg_body1440.jpg',
  16. 'default':'bg_body1920.jpg'
  17. }
  18.  
  19.  
  20. var ancho = screen.width;
  21.  
  22.  
  23.  
  24. if (parseInt(ancho) >= parseInt(1024) && parseInt(ancho) <= parseInt(1440)) {
  25.  
  26. document.body.style.backgroundImage= "url("+ fondos[ancho] +");";
  27. } else {
  28.  
  29.  
  30. document.body.style.backgroundImage= "url("+ fondos['default'] +");";
  31. }
  32. }
  33.  
  34.  
  35. </head>
  36.  
  37. <body id="index" onload="javascript:changeBackground()">
  38.  
  39. <div id="wrapper">
  40.  
  41.   <div id="header">
  42.    
  43.     <div class="logo">
  44.     <h1><a href="index.html"><img src="imagenes/logoBlack.png" alt="Black Box Bar" width="364px" height="40px" /></a></h1>
  45.     </div> <!-- end of logo -->
  46.    
  47.     <div class="headerRidht">
  48.     </div> <!-- end of headerRight -->
  49.    
  50.     <div class="menu">
  51.    
  52.         <ul>
  53.             <li class="btnTragos"><a href="tragos.html">tragos</a></li>
  54.             <li class="btnPlatos"><a href="platos.html">platos</a></li>
  55.             <li class="btnDiversion"><a href="diversion.html">diversión</a></li>
  56.             <li class="btnEspacios"><a href="espacios.html">espacios</a></li>
  57.             <li class="btnBaila"><a href="baila.html">bailá!</a></li>
  58.             <li class="btnCultura"><a href="cultura.html">cultura</a></li>
  59.             <li class="btnContacto"><a href="contacto.html">contacto</a></li>
  60.         </ul>
  61.    
  62.     </div> <!-- end of menu -->  
  63.  
  64.  
  65.   </div> <!-- end of header -->
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.   <div id="content">    </div> <!-- end of content -->
  73.   <div id="footer"> </div> <!-- end of footer -->
  74.  
  75. </div> <!-- end of wrapper -->
  76. </body>
  77. </html>

Algo que no me termina de cerrar es el Array, si también tienes ganas de explicarmelo en detalle, adelante! Estoy iniciándome en javascript, cualquier ayuda es importante (Y)
  #21 (permalink)  
Antiguo 01/11/2010, 17:21
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 1 mes
Puntos: 406
Respuesta: Cambiar Fondo segun Resolucion

Bueno, checando tu código el error esta en que cuando asignas la imagen al body estas agregando un ";" (punto y coma) al final de la sentencia, lo cual no debería de ir (estas terminando la sentencia con un + ");" cuando debería de ser + ")")...

Sin embargo ahorita que tengo mas tiempo de lo normal >.<, vi que es un código muy digamos arcaico, te dejo mejor este, que es mas funcional y optimo
Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4. <title>Black Box Bar</title>
  5.  
  6. <link href="blackBoxStyle.css" rel="stylesheet" type="text/css" />
  7.  
  8. <script language="javascript" type="text/javascript">
  9.     function array_search (needle, haystack, argStrict) {
  10.         var strict = !!argStrict;
  11.         var key = '';
  12.  
  13.         for (key in haystack) {
  14.             if ((strict && haystack[key] === needle) || (!strict && haystack[key] == needle)) {
  15.                return key;
  16.             }
  17.         }
  18.          return false;
  19.     }
  20.  
  21.     function changeBackground() {
  22.         //Creamos el array
  23.         var myBackgrounds = new Array(4);
  24.  
  25.         /**
  26.          * Ahora agregamos las imagenes, pero ahora será de forma diferente,
  27.          * forzosamente el nombre de la imagen será el tamaño de esta, ejemplo:
  28.          * 1024.jgp
  29.          * 1280.jpg
  30.          * 1440.jpg
  31.          *
  32.          * También cambiara el nombre de la imagen por default si no existe una
  33.          * imagen para la resolución del usuario la cual será default.jpg
  34.          *
  35.          * Al final quedaria
  36.          * default.jpg
  37.          * 1024.jgp
  38.          * 1280.jpg
  39.          * 1440.jpg
  40.          */
  41.         myBackgrounds[0] = 'default.jpg';
  42.         myBackgrounds[1] = '1024.jpg';
  43.         myBackgrounds[2] = '1280.jpg';
  44.         myBackgrounds[3] = '1440.jpg';
  45.  
  46.         //Obtenemos el ancho de la ventana
  47.         var ancho = screen.width + '.jpg';
  48.         //Indicamos la carpeta donde se guardan las imagenes
  49.         var carpeta_imagenes = '.'; //el '.' (punto) indica que se encuentran en la misma carpeta que el archivo html
  50.         //Creamos la variable donde se guardará el nombre de la imagen a cargar
  51.         var imageBackground = '';
  52.         //Buscamos si existe una imagen para la resolución del usuario
  53.         var isHere = array_search(ancho,myBackgrounds);
  54.  
  55.         //Verificamos si se encontro o no una imagen
  56.         if (typeof(isHere) != 'boolean') {
  57.             //Si se encontro obtenemos el nombre de la imagen
  58.             imageBackground = myBackgrounds[isHere];
  59.         }else {
  60.             //Si no se encontro cargamos la imagen por defecto
  61.             imageBackground = myBackgrounds[0];
  62.         }
  63.  
  64.         //Cargamos la imagen al body...
  65.         document.body.style.backgroundImage= "url("+ carpeta_imagenes + '/' + imageBackground +")";
  66.     }
  67.  
  68.  
  69. </head>
  70.  
  71. <body id="index" onload="javascript:changeBackground()">
  72.  
  73. <div id="wrapper">
  74.  
  75.   <div id="header">
  76.    
  77.     <div class="logo">
  78.     <h1><a href="index.html"><img src="imagenes/logoBlack.png" alt="Black Box Bar" width="364px" height="40px" /></a></h1>
  79.     </div> <!-- end of logo -->
  80.    
  81.     <div class="headerRidht">
  82.     </div> <!-- end of headerRight -->
  83.    
  84.     <div class="menu">
  85.    
  86.         <ul>
  87.             <li class="btnTragos"><a href="tragos.html">tragos</a></li>
  88.             <li class="btnPlatos"><a href="platos.html">platos</a></li>
  89.             <li class="btnDiversion"><a href="diversion.html">diversin</a></li>
  90.             <li class="btnEspacios"><a href="espacios.html">espacios</a></li>
  91.             <li class="btnBaila"><a href="baila.html">bail!</a></li>
  92.             <li class="btnCultura"><a href="cultura.html">cultura</a></li>
  93.             <li class="btnContacto"><a href="contacto.html">contacto</a></li>
  94.         </ul>
  95.    
  96.     </div> <!-- end of menu -->  
  97.  
  98.  
  99.   </div> <!-- end of header -->
  100.   <div id="array"></div>
  101.  
  102.  
  103.  
  104.  
  105.  
  106.   <div id="content">    </div> <!-- end of content -->
  107.   <div id="footer"> </div> <!-- end of footer -->
  108.  
  109. </div> <!-- end of wrapper -->
  110. </body>
  111. </html>
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)

Última edición por Nemutagk; 01/11/2010 a las 17:58
  #22 (permalink)  
Antiguo 02/11/2010, 14:38
 
Fecha de Ingreso: octubre-2010
Mensajes: 11
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Cambiar Fondo segun Resolucion

Sos groso!!! Lo probé y funciona de perlas.

Te re agradezco. Y estaría bueno que me recomiendes algún sitio en internet donde pueda estudiar todo esto, así no le quito más tiempo a gente como tu.

Gracias de nuevo! Saludos

Lipo
  #23 (permalink)  
Antiguo 02/11/2010, 16:44
Avatar de Drakerz  
Fecha de Ingreso: marzo-2010
Mensajes: 182
Antigüedad: 14 años, 1 mes
Puntos: 12
Respuesta: Cambiar Fondo segun Resolucion

Cita:
Iniciado por lipob Ver Mensaje
Sos groso!!! Lo probé y funciona de perlas.

Te re agradezco. Y estaría bueno que me recomiendes algún sitio en internet donde pueda estudiar todo esto, así no le quito más tiempo a gente como tu.

Gracias de nuevo! Saludos

Lipo
Te dejo un link que te sera util http://www.librosweb.es/
__________________
Founder and CEO en Edition Designs
http://www.edition-designs.com.ar/
  #24 (permalink)  
Antiguo 03/11/2010, 06:14
 
Fecha de Ingreso: octubre-2010
Mensajes: 11
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Cambiar Fondo segun Resolucion

Gracias Drakerz, a favoritos.
  #25 (permalink)  
Antiguo 10/11/2010, 22:00
 
Fecha de Ingreso: noviembre-2010
Mensajes: 1
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Cambiar Fondo segun Resolucion

Hola a ver si alguien me puede ayudar..... bueno sucede que tengo un blog de blogger y pues el fondo de la plantilla que tengo me gustaria que cambiara segun la resolucion de pantalla del visitante y pues intente con los codigos pero no me salio porque el blogger me sustituia las " ' " por el codigo web para el simbolo y simplemente no funcionaba el javascript y me gustaria que me ayudaran con eso. Solo quiero que si el usuario tiene una resolucion de 1280px(ancho) o 1024px el fondo se adaptara segun sea la resolucion. Si alguien tiene resolucion de 1280px(ancho) puede ver el fondo de mi blog como cortado[URL]http://infinity-kof.blogspot.com[/URL] pero si se tiene resolucion de 1024 se ve bien y no sale cortado por eso quisiera que los visitantes con resolucion mayor puedan ver mi blog bien.

Gracias de antemano
  #26 (permalink)  
Antiguo 31/01/2011, 10:08
 
Fecha de Ingreso: enero-2011
Mensajes: 2
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Cambiar Fondo segun Resolucion

Nemutagk Brother me fue de mucha ayuda tu codigo, gracias por tu tiempo y este trabajo.

<script language="javascript" type="text/javascript">
function array_search (needle, haystack, argStrict) {
var strict = !!argStrict;
var key = '';

for (key in haystack) {
if ((strict && haystack[key] === needle) || (!strict && haystack[key] == needle)) {
return key;
}
}
return false;
}

function changeBackground() {
//Creamos el array
var myBackgrounds = new Array(4);

/**
* Ahora agregamos las imagenes, pero ahora será de forma diferente,
* forzosamente el nombre de la imagen será el tamaño de esta, ejemplo:
* 1024.jgp
* 1280.jpg
* 1440.jpg
*
* También cambiara el nombre de la imagen por default si no existe una
* imagen para la resolución del usuario la cual será default.jpg
*
* Al final quedaria
* default.jpg
* 1024.jgp
* 1280.jpg
* 1440.jpg
*/
myBackgrounds[0] = 'default.jpg';
myBackgrounds[1] = '1024.jpg';
myBackgrounds[2] = '1280.jpg';
myBackgrounds[3] = '1440.jpg';

//Obtenemos el ancho de la ventana
var ancho = screen.width + '.jpg';
//Indicamos la carpeta donde se guardan las imagenes
var carpeta_imagenes = '.'; //el '.' (punto) indica que se encuentran en la misma carpeta que el archivo html
//Creamos la variable donde se guardará el nombre de la imagen a cargar
var imageBackground = '';
//Buscamos si existe una imagen para la resolución del usuario
var isHere = array_search(ancho,myBackgrounds);

//Verificamos si se encontro o no una imagen
if (typeof(isHere) != 'boolean') {
//Si se encontro obtenemos el nombre de la imagen
imageBackground = myBackgrounds[isHere];
}else {
//Si no se encontro cargamos la imagen por defecto
imageBackground = myBackgrounds[0];
}

//Cargamos la imagen al body...
document.body.style.backgroundImage= "url("+ carpeta_imagenes + '/' + imageBackground +")";
}
</script>


</head>

<body id="index" onload="javascript:changeBackground()">
  #27 (permalink)  
Antiguo 31/01/2011, 11:41
 
Fecha de Ingreso: enero-2011
Mensajes: 2
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Cambiar Fondo segun Resolucion

El script me funciona muy bien pero internet explorer lo bloquequa ¿es posible evitar esto y que se ejecute automaticamente?
  #28 (permalink)  
Antiguo 31/01/2011, 11:51
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Tema movido desde Web general a Javascript
  #29 (permalink)  
Antiguo 03/03/2012, 07:58
 
Fecha de Ingreso: mayo-2010
Mensajes: 2
Antigüedad: 14 años
Puntos: 1
Exclamación Respuesta: Cambiar Fondo segun Resolucion

Cita:
Iniciado por BeethIsaRoGa Ver Mensaje
Primero, quiero aclarar que yo no se HTML ni CSS ni nada, por eso decidi hacer un tema nuevo, por que el los que se relacionan ponen solo la parte del codigo en el que tienen problemas y no se donde va y me disculpo por eso, pero quiero aprender y me las he arreglado para hacer [URL="http://sourcecodeengine.zobyhost.com/Inuyasha/Index.html"]esto[/URL] (no pongo el codigo por que lo pueden ver con cualquier navegador), repito sin saber HTML ni CSS, lo que quiero es que segun la resolucion del usuario aplique un fondo, para 1024X768 se llama GInuyasha1.jpg y para 800X600 GInuyasha2.jpg, por favor tomen en cuetna que no se HTML ni CSS, y les pido me expliquen como solucionarlo de la manera mas simple, abran la pagina solo con Opera por que en Internet Explorer sale un cuadro blanco, quisiera quitarlo tambien, gracias de antemano


hay una forma mucho mas sencilla, en la que el fondo se adapta al tamaño de pantalla del navegador, y es solo un còdigo que te paso aqui debajo. Si quieren ver como queda ingresen a www.horizonteros.com.ar que es donde lo utilizo, desen el gusto de ir cambiando el tamaño del navegador y veran como se mantiene la imagen de acuerdo a este.

background-image: url(images/imagen.jpg);
background-repeat:no-repeat;
background-position:center center;
background-attachment:fixed;
-o-background-size: 100% 100%, auto;
-moz-background-size: 100% 100%, auto;
-webkit-background-size: 100% 100%, auto;
background-size: 100% 100%, auto;

Etiquetas: css, fondo, google, html, resolución, cambios
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 22:08.