Responder al tema  [ 6 mensajes ] 
DUDA:Copos de nieve/plantillas/diferentes navegadores 
Autor Mensaje
Forero Habitual
Forero Habitual
Avatar de Usuario

Registrado: 11-22-2008, 22:30
Mensajes: 190
Nota DUDA:Copos de nieve/plantillas/diferentes navegadores
Hola,
tengo un código que simula con asteriscos como caen copos de nieve por el foro.
Este código lo busque de forma que funcionase con todos los navegadores, he probado con FireFox y IE y el caso es que sí funciona.

Cuando digo que funciona me refiero a que cuando ejecuto un archivo html con el código en su interior lo puedo ver tanto en IE como en FireFox. Pero cuando lo pongo en el foro viene el problema:

Lo he colocado al final de la plantilla overall_header. Cuando abro mi foro con IE si salen los copos, podéis comprobarlo esta la url en la firma.
Sin embargo si lo abro con FireFox no salen, en fin también podéis comprobarlo. En realidad me atrevo a decir que no es que no salgan, sino que sale comprimido en una esquina. Adjunto foro de lo que me refiero:

http://img142.imageshack.us/img142/9469/problemacd2.jpg

¿Alguna sugerencia de a que se debe? ¿Alguna ayuda?

Aquí os dejo el código por si os sirve :) Y gracias desde ya.

Código:
<script>

// Numero de copos, recomendados entre 30 y 40
var nieve_cantidad=35

// Colores de los copos se mostraran de forma aleatoria
var nieve_colorr=new Array("#aaaacc","#ddddFF","#ccccDD")

// Tipo de letra de los copos
var nieve_tipo=new Array("Arial Black","Arial Narrow","Times","Comic Sans MS")

// Valor o letra de los copos
var nieve_letra="*"

// velocidad de caida
var nieve_velocidad=0.6

// tamaño mas grande de los copos
var nieve_cantidadsize=30

// tamaño mas pequeño de los copos
var nieve_chico=8

// 1 toda la pagina - 2 zona izquierda - 3 centro de pagina - 4 zona derecha
var nieve_zona=1

var nieve=new Array()
var marginbottom
var marginright
var timer
var i_nieve=0
var x_mv=new Array();
var crds=new Array();
var lftrght=new Array();
var browserinfos=navigator.userAgent
var ie5=document.all&&document.getElementById&&!browserinfos.match(/Opera/)
var ns6=document.getElementById&&!document.all
var opera=browserinfos.match(/Opera/)
var browserok=ie5||ns6||opera

function aleatorio(range) {
rand=Math.floor(range*Math.random())
return rand
}

function initnieve() {
if (ie5 || opera) {
marginbottom = document.body.clientHeight
marginright = document.body.clientWidth
}
else if (ns6) {
marginbottom = window.innerHeight
marginright = window.innerWidth
}
var nievesizerange=nieve_cantidadsize-nieve_chico
for (i=0;i<=nieve_cantidad;i++) {
crds[i] = 0;
lftrght[i] = Math.random()*15;
x_mv[i] = 0.03 + Math.random()/10;
nieve[i]=document.getElementById("s"+i)
nieve[i].style.fontFamily=nieve_tipo[aleatorio(nieve_tipo.length)]
nieve[i].size=aleatorio(nievesizerange)+nieve_chico
nieve[i].style.fontSize=nieve[i].size
nieve[i].style.color=nieve_colorr[aleatorio(nieve_colorr.length)]
nieve[i].sink=nieve_velocidad*nieve[i].size/5
if (nieve_zona==1) {nieve[i].posx=aleatorio(marginright-nieve[i].size)}
if (nieve_zona==2) {nieve[i].posx=aleatorio(marginright/2-nieve[i].size)}
if (nieve_zona==3) {nieve[i].posx=aleatorio(marginright/2-nieve[i].size)+marginright/4}
if (nieve_zona==4) {nieve[i].posx=aleatorio(marginright/2-nieve[i].size)+marginright/2}
nieve[i].posy=aleatorio(2*marginbottom-marginbottom-2*nieve[i].size)
nieve[i].style.left=nieve[i].posx
nieve[i].style.top=nieve[i].posy
}
movenieve()
}

function movenieve() {
for (i=0;i<nieve_cantidad>=marginbottom-2*nieve[i].size || parseInt(nieve[i].style.left)>(marginright-3*lftrght[i])){
if (nieve_zona==1) {nieve[i].posx=aleatorio(marginright-nieve[i].size)}
if (nieve_zona==2) {nieve[i].posx=aleatorio(marginright/2-nieve[i].size)}
if (nieve_zona==3) {nieve[i].posx=aleatorio(marginright/2-nieve[i].size)+marginright/4}
if (nieve_zona==4) {nieve[i].posx=aleatorio(marginright/2-nieve[i].size)+marginright/2}
nieve[i].posy=0
}
}
var timer=setTimeout("movenieve()",50)
}

for (i=0;i<=nieve_cantidad;i++) {
document.write("<span>"+nieve_letra+"</span>")
}
if (browserok) {
window.onload=initnieve
}
</script>

_________________
http://eot.mi-web.es/


11-29-2008, 14:31
Perfil
Forero Habitual
Forero Habitual
Avatar de Usuario

Registrado: 10-25-2007, 2:10
Mensajes: 255
Nota 
Hola, mira el mio no son asteriscos pero tengo un codigo que funciona en PHPBB2/3 y en todos los navegadores.

Puedes darle una mirada en mi foro: www.zonaplopnica.com , si te agrada, me dices y te posteo el codigo.

Saludos :)

_________________
Registrate en Zona Plop Nica
www.zonaplopnica.com / www.zonaplopnica.mi-web.es

Comenta - Participa - Aprende - Comparte - Socializa - Diviertete


12-02-2008, 3:26
Perfil
Forero Habitual
Forero Habitual
Avatar de Usuario

Registrado: 11-22-2008, 22:30
Mensajes: 190
Nota 
Hola!, la verda es que ya me habia olvidado de esto xD se agradece respuesta, he ido a tu foro y no veo nieve :( de todas formas ya me pasaron un codigo que me funciona a la perfeccion,
gracias de todos modos :)

_________________
http://eot.mi-web.es/


12-03-2008, 23:57
Perfil
Moderador
Moderador
Avatar de Usuario

Registrado: 01-16-2008, 2:08
Mensajes: 4000
Ubicación: México
Nota 
Menganita escribió:
Hola!, la verda es que ya me habia olvidado de esto xD se agradece respuesta, he ido a tu foro y no veo nieve :( de todas formas ya me pasaron un codigo que me funciona a la perfeccion,
gracias de todos modos :)


comparte el codigo xD asi otros se beneficiaran :D

SALUDOS.

_________________


12-04-2008, 2:35
Perfil WWW
Forero Habitual
Forero Habitual
Avatar de Usuario

Registrado: 11-22-2008, 22:30
Mensajes: 190
Nota Re: DUDA:Copos de nieve/plantillas/diferentes navegadores
Código:
<script type="text/javascript">


  //Configure below to change URL path to the snow image
  var snowsrc="http://www.odiseapsp.es/foro/images/xmas/snfl_01.gif"
  // Configure below to change number of snow to render
  var no = 10;
  // Configure whether snow should disappear after x seconds (0=never):
  var hidesnowtime = 0;
  // Configure how much snow should drop down before fading ("windowheight" or "pageheight")
  var snowdistance = "pageheight";

///////////Stop Config//////////////////////////////////

  var ie4up = (document.all) ? 1 : 0;
  var ns6up = (document.getElementById&&!document.all) ? 1 : 0;

   function iecompattest(){
   return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
   }

  var dx, xp, yp;    // coordinate and position variables
  var am, stx, sty;  // amplitude and step variables
  var i, doc_width = 800, doc_height = 600;

  if (ns6up) {
    doc_width = self.innerWidth;
    doc_height = self.innerHeight;
  } else if (ie4up) {
    doc_width = iecompattest().clientWidth;
    doc_height = iecompattest().clientHeight;
  }

  dx = new Array();
  xp = new Array();
  yp = new Array();
  am = new Array();
  stx = new Array();
  sty = new Array();
  snowsrc=(snowsrc.indexOf("dynamicdrive.com")!=-1)? "snow.gif" : snowsrc
  for (i = 0; i < no; ++ i) {
    dx[i] = 0;                        // set coordinate variables
    xp[i] = Math.random()*(doc_width-50);  // set position variables
    yp[i] = Math.random()*doc_height;
    am[i] = Math.random()*20;         // set amplitude variables
    stx[i] = 0.02 + Math.random()/10; // set step variables
    sty[i] = 0.7 + Math.random();     // set step variables
      if (ie4up||ns6up) {
      if (i == 0) {
        document.write("<div id=\"dot"+ i +"\" style=\"POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY: visible; TOP: 15px; LEFT: 15px;\"><a href=\"http://dynamicdrive.com\"><img src='"+snowsrc+"' border=\"0\"><\/a><\/div>");
      } else {
        document.write("<div id=\"dot"+ i +"\" style=\"POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY: visible; TOP: 15px; LEFT: 15px;\"><img src='"+snowsrc+"' border=\"0\"><\/div>");
      }
    }
  }

  function snowIE_NS6() {  // IE and NS6 main animation function
    doc_width = ns6up?window.innerWidth-10 : iecompattest().clientWidth-10;
      doc_height=(window.innerHeight && snowdistance=="windowheight")? window.innerHeight : (ie4up && snowdistance=="windowheight")?  iecompattest().clientHeight : (ie4up && !window.opera && snowdistance=="pageheight")? iecompattest().scrollHeight : iecompattest().offsetHeight;
    for (i = 0; i < no; ++ i) {  // iterate for every dot
      yp[i] += sty[i];
      if (yp[i] > doc_height-50) {
        xp[i] = Math.random()*(doc_width-am[i]-30);
        yp[i] = 0;
        stx[i] = 0.02 + Math.random()/10;
        sty[i] = 0.7 + Math.random();
      }
      dx[i] += stx[i];
      document.getElementById("dot"+i).style.top=yp[i]+"px";
      document.getElementById("dot"+i).style.left=xp[i] + am[i]*Math.sin(dx[i])+"px";
    }
    snowtimer=setTimeout("snowIE_NS6()", 10);
  }

   function hidesnow(){
      if (window.snowtimer) clearTimeout(snowtimer)
      for (i=0; i<no; i++) document.getElementById("dot"+i).style.visibility="hidden"
   }
       

if (ie4up||ns6up){
    snowIE_NS6();
      if (hidesnowtime>0)
      setTimeout("hidesnow()", hidesnowtime*1000)
      }

</script>

_________________
http://eot.mi-web.es/


12-04-2008, 11:20
Perfil
Moderador
Moderador
Avatar de Usuario

Registrado: 01-16-2008, 2:08
Mensajes: 4000
Ubicación: México
Nota Re: DUDA:Copos de nieve/plantillas/diferentes navegadores
Gracias xD :smile:

_________________


12-04-2008, 19:16
Perfil WWW
Mostrar mensajes previos:  Ordenar por  
Responder al tema   [ 6 mensajes ] 

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados


No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro
No puede enviar adjuntos en este Foro

Saltar a:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by STSoftware for PTF.
Traducción al español por Huan Manwë para phpbb-es.com
phpBB SEO
[ Time : 0.078s | 13 Queries | GZIP : Off ]