Ver Mensaje Individual
  #12 (permalink)  
Antiguo 14/10/2010, 01:23
paskuini
 
Fecha de Ingreso: junio-2009
Mensajes: 156
Antigüedad: 15 años, 5 meses
Puntos: 7
Respuesta: script no funciona :(

Cita:
Iniciado por zerokilled Ver Mensaje
eso lo entiendo, la funcion busca absolutamente todos los IDs definidos en el documento y estos son los que se van a ocultar/mostrar.
No me has entendido (o no me he explicado bien ^^', lo siento... esa función la usé yo para listar los Id's, pero digamos que es temporal, no se quedara en la hoja de scripts ya que no son todos los elementos con ID los que quiero mostrar/ocultar, si no sólo algunos.
Cita:
Iniciado por zerokilled Ver Mensaje
volviendo a tu tema inicial... los elementos primero tienen que estar presente antes de invocar la funcion porque de lo contrario -como ya explicaba- javascript no sera capaz de encontrar los elementos necesario. tienes que invocarlo en el evento onload ya que este se dispara cuando el navegador termina de cargar el documento.
Está en el Onload.



Todo esto (puede que debiera haberlo dicho antes) lo estoy haciendo porque la web se basa, digamos, en una base donde hay un menú y dos "espacios" de contenido. En ambos "espacios" hay una serie de divs superpuestos que contienen toda la información de la web (productos/descripciones/precios...).
Al principio usaba una función como ésta:
Código Javascript:
Ver original
  1. function selectorprod(ids)
  2. {
  3.     document.getElementById('atun').style.display='none';
  4.     document.getElementById('sardinas').style.display='none';
  5.     document.getElementById('chorizo').style.display='none';
  6.     switch(ids)
  7.     {
  8.         case 'atun':
  9.             document.getElementById('atun').style.display='block';
  10.             document.getElementById('sardinas').style.display='none';
  11.             document.getElementById('chorizo').style.display='none';
  12.             break;
  13.         case 'sardinas':
  14.             document.getElementById('atun').style.display='none';
  15.             document.getElementById('sardinas').style.display='block';
  16.             document.getElementById('chorizo').style.display='none';
  17.             break;
  18.         case 'chorizo':
  19.             document.getElementById('atun').style.display='none';
  20.             document.getElementById('sardinas').style.display='none';
  21.             document.getElementById('chorizo').style.display='block';
  22.             break;
  23.     }
  24. }
Mi problema es que el contenido de la web ha crecido mucho, y si sigo usando esta función, me haré viejo y moriré en el intento...
Otra cosa que estoy pensando es que algunas veces (en algunos contenidos) necesito usar los dos "espacios" que mencioné antes al mismo tiempo; es decir, que tendré que ocultar "todo" y luego mostrar 2 divs en vez de uno. ¿Crees que vale la pena hacer dos funciones distintas para cada caso?
.................................................. .........
En la función que recoge todos los elementos con ID, ¿se puede hacer de alguna forma que salte/obvie/evite ciertas ID conocidas? o... que se yo.. "restarlas" del array de alguna manera... esto es posible? ^^'

Última edición por paskuini; 14/10/2010 a las 01:34 Razón: P.D.