js y las hojas de estilo externas
5 seguidores
necesito acceder con javascript al valor del "display" que tengo declarado en una clase en el fichero de estilos. si lo hago con "getElementById(elemento).style.display" me da que está vacío al no tenerlo declarado en linea, y de momento sólo he logrado el runtimeStyle para IE y getComputedStyle para NN, que además no tengo muy claro cómo funcionan. ¿hay alguna solución más estándar para acceder a los valores declarados fuera del html?
meddle
jeje, chungui chungui... ;)
a ver, como dices, lo intuitivo cuando no has definido el estilo via js es acceder a el desde getComputedStyle o currentStyle. Algo como esto (puse algo similar hace tiempo aqui:
<code>if(window.getComputedStyle) {//leemos valor, solo Moz
alert(window.getComputedStyle(document.getElementById("capa"),null).display)
}
else {//leemos valor, solo IE
alert(document.getElementById("capa").currentStyle.display)
}</code>
Si eso no te funciona, deberás hacer algo bastante mas chunbgo, que es parsear el CSS externo con el DOM, buscando la capa y el valor que tenga en display. Si lo primero no te chuta avisame.
cbp
jeje, me acordaba que habías posteado algo sobre esto, pero he estado un rato buscando y no encontraba nada. la segunda opción que me das ya la hice una vez, lo de recorrerme todo el css externo buscando la jodía clase que necesitaba, pero quería usar algo más sencillo si era posible. voy a probar lo que me has dicho y si no me funciona te pido socorro.
por cierto, tengo ya hecho el buscador ese que hice para mi página de enlaces, estuvimos hablando aquí. ahora lo he cambiado porque lo he hecho con listas, y se puede buscar tanto en la url como en los comentarios asociados. también me ha dismunuído el tamaño casi a la mitad, pa que luego digan que el css no sirve pa ná :D
muchas gracias por la ayuda :)
cbp
esto funciona de lujo, meddle, eres un mostro :D
meddle
jeje, en js no te dire que no (aunque siempre que miro lo que hacen mis colegas extranjeros me siento un inutil) ;)
ya me enseñarás lo del buscador ese, tenia buena pinta.
cbp
si tú eres un inútil ¿quiénes son tus colegas extranjeros? :? miedo me da pensarlo...
pos el buscador, si quieres, te lo puedo enviar. es un html de 140 Kb o por ahí, con 200.000 millones de enlaces que me han ido pareciendo interesantes, es un trabajo de años... :D
orange
JOE que cosas ... precisamente me pasa lo mismo con un display ... lo que pasa es que como es una chorrada habia declarado la propiedad en la pagina
Voy a probar lo que has puesto Sergi ... gracias una vez más !!
meddle
cbp
si tú eres un inútil ¿quiénes son tus colegas extranjeros? :? miedo me da pensarlo...
pos el buscador, si quieres, te lo puedo enviar. es un html de 140 Kb o por ahí, con 200.000 millones de enlaces que me han ido pareciendo interesantes, es un trabajo de años... :D
zippeamelo, anda.
y mis colegas son para asustarse: Dan Pupius, David Schontzler, Thomas Brattli, y Dr. Tom Trenka :P
orange
Pues a mi eso que has puesto Sergi no me rula en IE ¿?¿?
Básicamente se trata de un script que chequea la propiedad display de un DIV, si está en none la pone en block y viceversa
Aqui va el código, a ver si estoy metiendo la pata en otro lado
// PARA LOS ELEMENTOS DESPLEGABLES
function menuDOWN(id){
if (window.getComputedStyle) { //leemos valor, solo Moz
if ( window.getComputedStyle(document.getElementById(id),null).display == 'none' ) {
document.getElementById(id).style.display = 'block';
} else {
document.getElementById(id).style.display = 'none';
}
} else { //leemos valor, solo IE
if ( document.getElementById(id).currentStyle.display == 'none' ) {
document.getElementById(id).currentStyle.display == 'block';
} else {
document.getElementById(id).currentStyle.display == 'none';
}
}
}
meddle
tio, que cagadas... no se lo diré a nadie... :)
basicamente usabas
document.getElementById(id).currentStyle.display == 'block';
en lugar de
document.getElementById(id).style.display = "block";
(y al reves)
es decir dos fallos gordetes. uno currentStyle y el gordo... == para definir! joé que nivel juas (e groma) ;)
orange
OTIA!! ... jejeje
copie y pegue la sentencia de IF ... ya ves ... quien diga que no comete fallos de novato que tire la primera piedra
:P
meddle
ya me lo he imaginado, el copy paste, ese oscuro mecanismo de programacion... :P
que, ¿os gustan mis idolos?
orange
Tus idolos son unas grandes máquinas ...
meddle
pues ahora ya podeis comprender que me sienta un inutil leyendo sus codigos :)
cbp
meddle
zippeamelo, anda.
y mis colegas son para asustarse: Dan Pupius, David Schontzler, Thomas Brattli, y Dr. Tom Trenka :P
lo que suponía, tus colegas son un panda de freaks :P eso sí, no son malos, no
zippeado está el fichero :)
meddle
aki creo que somos todos un poco frkis, en cierto modo.
recibido (y guardando secreto de sumario, ahora te tengo pillado, eh? :P )
cbp
ya, ya, pero orange, txuma y tú los que más, y dirarck y fedemental también, que no estais pegando el virus ese del css a todos, pareceis la mona de "Estallido"...
y sí, me tienes pilladísimo, puedes echar por tierra mi reputación en este foro con unas pocas lineas :D
meddle
¿reputacion? :)
cbp
es cierto, no tengo nada :(
por favor, por favor, no se lo cuentes a Elektro, me haría trizas...
XrV
weno meddle, tu aún tienes vida social XD el dia que seas como ellos ten por seguro que entonces si serás como una especie de freak de infernet (en offf alguien dijo esto de infernet y me moló cacho) sin vida social.
que pirula quieres la roja o la azul?
meddle
vida social yo? bueno algo simpatico soy, pero no te creas, q relacionarme me cuesta lo mio ;)
XrV
si, ya, venga... que anda que no triunfaste en offf con toda esa masa de gente siguiendote por los pasillos (que por cierto, que honor conocer al Sr.Kusor) jeje :P
saludines
meddle
mmm, en serio? carai! de todos modos, ¿tu has visto la vida de Brian? pos eso. jaja
si, Pedro - kusor es la caña. Se quedo poco rato pero creo que le pude presentar a unos cuantos.
XrV
pues no la he visto ... pero es del rollo que el tio va con la cruz y le sigue la peña tirando piedras? (o me lo saco de la manga así tal cual? XD)
joé, q drama!! XD
ah, el temita de la lista como está? :) ya tengo ganas de empezar a rallarme la cabeza con eso.
meddle
XrV
ah, el temita de la lista como está?
email just sent ;)
albertoromero
Hola, vuelvo a hacer una llamada a meddle y demás javascripteros:
Estoy intentando acceder al border-width de un elemento que fue declarado en la css.
En IE lo pillo guay con el <em>currentStyle.borderWidth</em>, pero en Mozilla no consigo nada. He probado con <em>getComputedStyle</em> y nada... ¿sabéis alguna solución?
Gracias!