Código HTML:
<script language="javascript" type="text/javascript"> document.all.nombre_capa.style.height=500;<script>
| |||
Cambiar style en capa mediante javascript Hola a todos!! Resulta que tengo que cambiar el atributo height de una capa donde va un menú (porque al pulsar en uno de los botones, salen más opciones) y según he leido se podría hacer con: Código HTML: <script language="javascript" type="text/javascript"> document.all.nombre_capa.style.height=500;<script> |
| |||
Prueba con getElement. function CambiaEstilo(obj,size){ var obj = document.all ? document.all[obj] : document.getElementById(obj); obj.style.height=size; }
__________________ escribiendo mi libro de AJAX |
| |||
Hola de nuevo! Antes de nada... muchas gracias por la ayuda. Al final he hecho la siguiente función en javascript: Código HTML: function CambiaEstilo(obj,tam,atrib){ var obj = document.all ? document.all[obj] : document.getElementById(obj); if (atrib=="size") obj.style.height=tam; if (atrib =="top") obj.style.top=tam; } La llamada a la función, CambiaEstilo("nombre_capa",620,"top"); vamos, casi igual que para redimensionarlo. Alguna idea?? muchas gracias |
| ||||
Hola: Un par de apuntes... Tanto explorer como opera que "cuelan" document.all también implementan getElementById, así que te sobra la primera línea... Si en vez de poner size para el estilo height, pones tambien "height" como posible atrib... se implementaría la función en una sola línea...
Código:
... el parámetro atrib tendría que ser el valor del estilo...function CambiaEstilo(obj,tam,atrib){ document.getElementById(obj).style[atrib] = tam; } Pruébalo y nos comentas... Saludos
__________________ Por favor: No hagan preguntas de temas de foros en mensajes privados... no las respondo |
| |||
He cambiado la función como me dijiste.. de tal forma que está actualmente así: function CambiaEstilo(obj,tam,atrib){ document.getElementById(obj).style[atrib] = tam; } Tengo las dos llamadas a la función: CambiaEstilo("menu-izq",850,"height");CambiaEstilo("info-inf",720,"top"); menu-izq e info-inf son capas. La del atributo height perfecto, lo redimensiona, pero el top en la otra.. nada, es que esto no funciona con el atributo top?? si lo que kiero es bajar esa capa.. hay alguna otra forma?? Gracias!! Un saludo!!! |
| ||||
Hola otra vez: a los estilos debes ponerle también si se trata de pixeles u otra cosa... CambiaEstilo("menu-izq","850px","height");CambiaEstilo("info-inf","720px","top"); Y tanto el top como el left (si fuera el caso) deberían estar en capas con posición absolute... (creo que también vale relative) Saludos
__________________ Por favor: No hagan preguntas de temas de foros en mensajes privados... no las respondo |
| |||
Hola de nuevo!! Nada, imposible, el atributo height lo cambia pero el top.. ni caso. Tengo la misma función que puse más arriba.. y cambié lo de los pixeles. pero nada, no hace caso. No tengo ni idea ya de cómo hacerlo. Las capas son absolutas, pero he probado esto también en capas relativas. He probado en capas que contienen capas.. capas con una sola imagen.. Ya no sé qué más hacer. Alguna otra forma de poder cambiar la distancia respecto al borde superior?? aunque sea con otro lenguaje.. (también utilizo php). No sé porqué no funciona esto.. y es que tengo que hacerlo :S Gracias!! Un saludo!! |