Hola
leo_search1
una de las técnicas para lograr cargar fragmentos de páginas es mediante el uso de Ajax... esto requiere JavaScript... otra tecnica similar es Xajax... que para el caso viene siendo lo mismo pero implementado desde PHP....
en Google puedes encontrar mucha información al respecto.. incluso en los foros de JavaScript... puedes encontrar bastante informacion sin necesidad de crear un nuevo tema pues ya hay bastantes posteados al respecto... :D fuera de eso.. de momento no recuerdo otros metodos para cargar fragmentos de paginas con PHP
ahora bien.. con respecto al codigo que no te funciona... te doy unas pautas.. para que corrijas los errores....
1.- los elementos deben tener un
ID (identificador) único por lo que si tienes:
<div id="layer"><p><img alt="" height="32" src="http://files.tupeliculaonline.webnode.es/200000100-dde29dedd0/filmes.png" /> con el link</p>
</div>
y
<div id="layer" style="display:none;">Contenido oculto</div>
el id
"layer" se répite y JavaScript solo trabajará con 1, tambien notemos que el segundo div ya lo tienes oculto por default....
2.- esta línea de código
obj.style.display = (obj.style.display=='none') ? 'block' : 'none';
es similar al
if
por lo que si convertimos esa línea en if.. queda así
Código Javascript
:
Ver originalif(obj.style.display = (obj.style.display=='none')){
'block';
}else{
'none'
}
en cualquiera de las dos maneras... la sintaxis está mal....
debido a que....
1.- aquí... estas asignando... no estas comparando....
obj.style.display = (obj.style.display=='none')
por lo que puedo ver en tu codigo... la máquina hace este proceso....
primero se cumple lo que está dentro del parentesis.... es decir...
si
obj.style.display = 'none' (si la visibilidad del objeto es igual a none) se devuelve el resultado... en este caso por tratarse se 2 divs con igual ID se selecciona el primero... por lo que el resultado de esa comparacion es....
FALSE despues
asignas ese valor a
obj.style.display de esa manera el resultado siempre es
FALSE
ahora.... despues de la supuesta evaluación.... solo tienes
'none' o
'block' cuando en realidad.. tienes que asignarlo para que puede establecerce el valor....
para que tu código funcione tiene que ser de esta manera...
1.- los ID deben ser únicos....
<div id="ShowHide" style="display:none;">Contenido que se muestra y se oculta</div>
2.- la condición quedaría así....
if(obj.style.display == 'block'){
obj.style.display = 'none';
}else{
obj.style.display = 'block';
}
si juntamos el código queda como sigue en el ejemplo...
Código Javascript
:
Ver original<html>
<head>
<title>PRUEBA OCULTAR / MOSTAR</title>
<script>
function SHOWHIDE(){
var myDiv = document.getElementById("ShowHide");
if(myDiv.style.display == "none"){
myDiv.style.display = "block";
}else{
myDiv.style.display = "none";
}
}
</script>
</head>
<body>
<div id="ShowHide">
CONTENIDO QUE SE MUESTRA U OCULTA....
</div>
<div id="BtnContainer">
<input type="button" onclick="SHOWHIDE();" value="Mostrar / Ocultar Div" />
</div>
</body>
</html>
Espero que te sea de utilidad...
SALUDOS y ÉXITO.....