Comunidad de diseño web y desarrollo en internet online

carga aleatoria de hoja de estilos

Citar            
MensajeEscrito el 25 Jul 2007 10:45 pm
Buenas Tardes:

Escribo porque no he encontrado la solución para mi problema. Tengo una página en flash que carga alatoriamente uno de los 9 colores corporativos de la empresa, hasta ahí todo bien. Ahora necesito crear una versión html de la misma página y la idea es que juegue con los mismos colores alatorios, (cada vez que se abra la página carga de un color), tengo creada la página básica y los estilos css con cada color (fondo, fuentes, etc), pero no he podido encontrar un código que me haga cargar de forma aleatoria uno de los estilos.

Lo más parecido que encontré fue:

if (window.screen){
var ranNum= Math.round(Math.random()*4);
document.write("<link rel='stylesheet' href='pathto/stylesheet"+ranNum+".css' type='text/css'>";
}


Usando el nombre stylesheetX.css para cada hoja de estilos (X = # del 1 al 9) , pero no me ha funcionado.

¿Podría alguien por favor ayudarme?

P.D: Soy diseñador y no programador, asi que no entiendo muy bien el código. Y no se si este código este bien ni en donde iria ubicado.

De antemano MUCHAS GRACIAS

Por yomigue

10 de clabLevel



Genero:Masculino  

Bogotá, Colombia

firefox
Citar            
MensajeEscrito el 26 Jul 2007 05:18 pm
Te sugiero que lo hagas con php. Es muy facil:

  • Haces un archivo php que tenga como content-type=text/css (mandas esa info con la funcion header... algo como header('content-type:text/css');)
  • Haces un array con numeros rgb. (por ejemplo $miscolores= array("#690","#066","#f90"); )
  • Pones la propiedad que quieres afectar, en este caso, body{ background:}
  • Y como valor, haces que con la funcion rand se retorne un valor aleatorio del array.
  • Luego, en tu pagina, llamas el php como un <link> (una hoja de estilo cualquiera)

En total sería algo asi como esto:

Código :

<?php
header('content-type:text/css');
$colores= array("#f90","#069","#555");
$cuantoscolors= count($colores);
?>
body{
background: <?php echo $colores[rand(0, $cuantoscolors] ?>;
}


Si usas la imaginacion, puedes cargar imágenes aleatorias, o lo que sea

Saludos! :)

Por Lunatic Lycanthrop

Claber

1203 de clabLevel

7 tutoriales

1 ejemplo

Genero:Masculino  

The dark places where wolves access internet with 46,6 kbps

firefox
Citar            
MensajeEscrito el 26 Jul 2007 07:51 pm
Nice!!!1 wow como quiero aprender php T_T

Por onnasama

325 de clabLevel

1 tutorial

 

firefox
Citar            
MensajeEscrito el 29 Jul 2007 06:06 pm
Buena solucion lunatic, pero creo que se puede hacer con Javascript...
lo que harias seria solo modificar el src del en;ace a la hoja de estilos y no escribir el enlace completo, la ventaja de esto es que al definir el enlace a la hoja de estilos, pones un estilo por default asi si javascript no es usado por el cliente, aun tiene la posibilidad de ver los estilos definidos por default.

Por buzu

163 de clabLevel



 

Los Angeles, California

firefox
Citar            
MensajeEscrito el 30 Jul 2007 03:05 am
Lunatic, eso no es mala idea a menos que sea SOLO para un código, y tendrias que convertir un archivo php en css, escribiendolo o usando el encode, algo que no me gustaria mucho.

Mi opinión es que hagas algo muy fácil, a traves de un lenguaje del lado servidor (php, asp, coldfusion, python) se elija aleatoriamente entre los números 1 y 9 luego solo escribes la ruta del css con un numero al final (ej. estilos1.css, estilos4.css).

Ejemplo con php.

Código :

<link href="la_ruta_al_css_con_color_<?=rand(1,9)?>.css" rel="stylesheet" type="text/css" media="screen" />


También podria ser con javascript, pero para este tipo de cosas lo mejor es hacerlo del lado del servidor, asi siempre mantendras un color aleatorio a la web.

Por NEO_JP

BOFH

5724 de clabLevel

13 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Premio_Secretos Team Cristalab

Front-end Developer en Washington, DC

firefox
Citar            
MensajeEscrito el 30 Jul 2007 02:09 pm
ya... Concuerdo al 100% con neo

Por buzu

163 de clabLevel



 

Los Angeles, California

firefox
Citar            
MensajeEscrito el 30 Jul 2007 03:40 pm
buzu... te importaría responder a un post de una manera "decente"? Las últimas respuestas que he leido de ti son "Si", "De acuerdo con tal", "Estoy de acuerdo", etc.

No me parece malo que expreses tu opinion, al contrario, ayuda al que preguntó a sentirse más seguro con una opcion, pero sería bueno si te esforzaras un poco y al menos pusieras las razones que te llevaron a estar de acuerdo... o cualquier cosa que haga que tu mensaje sea mayor a una linea.

Por Lunatic Lycanthrop

Claber

1203 de clabLevel

7 tutoriales

1 ejemplo

Genero:Masculino  

The dark places where wolves access internet with 46,6 kbps

firefox
Citar            
MensajeEscrito el 30 Jul 2007 04:32 pm
Buzu, eso es irónico. Primero dices que "crees" que debería hacerse con javascript, y ahora dices que estas "concuerdo" al 100% conmigo que solo doy una solución en php.. ¡¿WTF?!

He seguido tus posts en este foro desde hace mucho tiempo, y el 90% de las respuestas que veo son de este tipo: "si, no, estoy concuerdo". Una de dos, o eres una personas que no tiene decisión, o eres muy voluble a lo que la gente dice, ya que en el mismo tema cambias de opinión entre 2 a 3 veces.

Personalmente no me gusta ver este tipo de conducta en el foro que modero, por ende si sigo viendo posts tuyos sin sentido que no aportan en nada al tema, los borraré sin piedad. Repito, a menos que en verdad tenga que ver con el tema, y/o de algún aporte serán borrados. Avisado estás.

Por NEO_JP

BOFH

5724 de clabLevel

13 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Premio_Secretos Team Cristalab

Front-end Developer en Washington, DC

firefox
Citar            
MensajeEscrito el 30 Jul 2007 07:57 pm
Tranquilos, mi pregunta no fue para que pelearan. :oops:
Y les agradezco mucho su ayuda, pero ahora bien, como explicaba más abajo en la pregunta, no soy programador, soy diseñador y generalmente mi trabajo es en la apariencia de las páginas, pero en este caso debo aplicar lo que hice en flash a html, y la verdad es que no entiendo muy bien lo de php, ajax, etc. Yo, como diseñador, normalmente trabajo en Dramweaver, en la vista diseño, desde ahí hago que la página funcione, pero la parte de código no es precisamente mi fuerte y no se como usarla. Asi que no puedo decir cual de las soluciones me funcionan, porque no se como implementarlas. Pero aun asi de nuevo gracias, voy a ver...

Se que normalmente, lo que deberia hacer es buscarme un programador y pagarle, pero resulta que en este caso no puedo. Es como cuando los programadores hacen una página sin tener ni idea de diseño, y la página funciona divinamente, pero se ve terrible, pero al revés. :lol:

Por yomigue

10 de clabLevel



Genero:Masculino  

Bogotá, Colombia

firefox
Citar            
MensajeEscrito el 31 Jul 2007 04:07 am
Te dimos las opciones, solo es cuestión que comentes si el hosting donde va a ser dada la web tiene soporte de php. Si es asi te decimos paso a paso cómo lograrlo, ya que es muy fácil.

Por NEO_JP

BOFH

5724 de clabLevel

13 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Premio_Secretos Team Cristalab

Front-end Developer en Washington, DC

firefox
Citar            
MensajeEscrito el 31 Jul 2007 01:28 pm
Gracias, si, tiene soporte php. O por lo menos eso dice.

Por yomigue

10 de clabLevel



Genero:Masculino  

Bogotá, Colombia

firefox
Citar            
MensajeEscrito el 31 Jul 2007 07:33 pm
En ese caso haz esto, crea un archivo html normal, y cambiale la extensión a .php.
En mitad del <body> escribe esto, subelo al hosting y muestranos que sale.

Código :

<?php echo rand(1,9); ?>

Por NEO_JP

BOFH

5724 de clabLevel

13 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Premio_Secretos Team Cristalab

Front-end Developer en Washington, DC

firefox
Citar            
MensajeEscrito el 02 Ago 2007 06:56 pm
A riesgo de ser más cansón que pulga en el pantalón, debo decir que se que el hosting admite php, porque eso dice en las caracteristicas, pero yo todavia no he comprado el dominio ni pagado el hosting, para que no me pase como la última vez que lo compré por adelantado y me demore 5 meses en montar la página y perdí todo ese tiempo. Asi que no se en donde montar lo que ya me dijeron que hiciera. y que ya hice :oops:

Por yomigue

10 de clabLevel



Genero:Masculino  

Bogotá, Colombia

firefox
Citar            
MensajeEscrito el 02 Ago 2007 07:00 pm
NEO_JP:
por cierto, al hacer este archivo.php que me aconsejo, cuando voy a dar vista previa en el navegador en dreamweaver, se abre el navegador y me dice que es para descargar un archivo php. No se deja ver nada, no se si eso sea lo que tiene que pasar...

Por yomigue

10 de clabLevel



Genero:Masculino  

Bogotá, Colombia

firefox
Citar            
MensajeEscrito el 02 Ago 2007 07:23 pm

Por yomigue

10 de clabLevel



Genero:Masculino  

Bogotá, Colombia

firefox
Citar            
MensajeEscrito el 02 Ago 2007 08:53 pm
Excelente, si te fijas esta funcionando bien, ya que lo que hiciste fue decirle que te generara un número aleatorio entre 1 y 9.

No uses la vista de diseño de Dreamweaver, necesitas probar tus diseños en los navegadores Firefox, Opera, IE, etc...

Si vas a comenzar con PHP, te aconsejo que bajes WAMP Server o algún programa sencillo que te instale todo de jalón (de golpe).

Ahora tal y como dijo Neo, solo vas a cambiar el número de tu CSS para hacer que la carga la haga diferente.

Tus archivos van a ser algo como:

Código :

css1.css
css2.css
css3.css
...
css9.css


Y vas a concatenar tu archivo CSS a el número que te genere el RAND.

Saludos.

Por Reymond

Claber

1111 de clabLevel

5 tutoriales
1 articulo

Genero:Masculino  

Mobile developer

firefox
Citar            
MensajeEscrito el 02 Ago 2007 10:00 pm
Ya lo dijo Reymond, solo es cosa de que lo implementes en la ruta de los css y listo.

Cuando uno usa php en estas es muy probable que la vista de dreamweaver no funcione correctamente, ya que dreamweaver no puede intuir como responderá el script, mientras que el hosting con php si por lo tanto es recomendable que hagas las pruebas directamente en el servidor.

Si te molesta estar subiendo una y otra vez los archivos al hosting, seria recomendable que uses un "servidor local" como el WAMP server que recomendó Reymond.

Un saludo

Por NEO_JP

BOFH

5724 de clabLevel

13 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Premio_Secretos Team Cristalab

Front-end Developer en Washington, DC

firefox
Citar            
MensajeEscrito el 02 Ago 2007 11:48 pm
Pues, muchas, muchas gracias, voy a probar todo lo que me dijeron y les aviso...

Por yomigue

10 de clabLevel



Genero:Masculino  

Bogotá, Colombia

firefox
Citar            
MensajeEscrito el 03 Ago 2007 03:58 pm
Bueno, muchas, gracias a todos por su ayuda.

Lo monté en el servidor gratuito con los estilos (4 por probar) y funciona perfectamente, ahora si sabiendo que funciona la idea que tenia, me pondré a armar toda la página.

De nuevo, muchas gracias, son ustedes unos vacanes...

:wink:

Por yomigue

10 de clabLevel



Genero:Masculino  

Bogotá, Colombia

firefox
Citar            
MensajeEscrito el 18 May 2009 06:57 am
hola, soy nuevo en esto de la programación, es más, soy solo diseñador. alguien podría decirme como hacer para cargar una imagen de fondo de manera aleatoria?

gracias

Por lestatnislao

1 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.