Foros del Web » Programando para Internet » Javascript »

Texto que se oculta al clickar el link

Estas en el tema de Texto que se oculta al clickar el link en el foro de Javascript en Foros del Web. Hola a todos. Estuve visitando otros temas en este foro y me han sido de gran ayuda, pero tengo un detalle en mi página que ...
  #1 (permalink)  
Antiguo 27/11/2009, 13:42
 
Fecha de Ingreso: octubre-2007
Mensajes: 91
Antigüedad: 16 años, 6 meses
Puntos: 1
Texto que se oculta al clickar el link

Hola a todos. Estuve visitando otros temas en este foro y me han sido de gran ayuda, pero tengo un detalle en mi página que no encuentro la solución.

Quiero que un vínculo cambie de forma al mostrar un div en principio oculto

El vínculo dice [read more] (es un web en inglés) y al clickarlo me muestra el texto, y quiero que se reemplaze por el texto [-]

Viendo que los vínculos eran varios tuve que cortar pedazos de código distinto. El texto me lo muestra y oculta perfectamente, pero no me cambia el link de forma

Adjunto la función Javascript, seguramente alguien podrá ayudarme. Yo soy novato en Javascript

Código:
<script>
function mostrar(enla) {
	obj = document.getElementById('oculto'+enla);
	obj.style.display = (obj.style.display == 'block') ? 'none' : 'block';
        enla.innerHTML = (enla.innerHTML == 'x') ? 'read more' : 'x';
} 

</script>
Los div a los que afecta son varios: oculto1, oculto2, oculto3, etc. Si es necesario adjunto el código, aunque supongo que el error está en el script.

Gracias

Última edición por kike2lucas; 27/11/2009 a las 13:44 Razón: error en el etiquetado
  #2 (permalink)  
Antiguo 27/11/2009, 13:43
 
Fecha de Ingreso: octubre-2007
Mensajes: 91
Antigüedad: 16 años, 6 meses
Puntos: 1
Respuesta: Texto que se oculta al clickar el link

Perdón, quiero que lo reemplaze por una x [x]

Última edición por kike2lucas; 27/11/2009 a las 13:45 Razón: error de escritura
  #3 (permalink)  
Antiguo 27/11/2009, 13:50
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Respuesta: Texto que se oculta al clickar el link

Hola kike2lucas

Pon el código del div y del enlace, a ver si se nos ocurre algo.

Saludos,
  #4 (permalink)  
Antiguo 27/11/2009, 13:55
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Texto que se oculta al clickar el link

Hola

El argumento que le pasas a la función (enla) trae los valores 1,2,3,4... Ahora la pregunta es ¿es ese el id, en tu caso, el nombre, de los vinculos?

Suerte

Vaya racha que llevo de pisar, perdona JavierB
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #5 (permalink)  
Antiguo 28/11/2009, 07:10
 
Fecha de Ingreso: octubre-2007
Mensajes: 91
Antigüedad: 16 años, 6 meses
Puntos: 1
Respuesta: Texto que se oculta al clickar el link

Ok. El código es este.

<script>
function mostrar(enla) {
obj = document.getElementById('oculto'+enla);
obj.style.display = (obj.style.display == 'block') ? 'none' : 'block';
enla.innerHTML = (enla.innerHTML == 'x') ? 'read more' : 'x';
}

</script>


y los div, estos:

<b>TSSA</b>: Technical Service Support Agreements [<a class="int" href="#" onclick="mostrar('1'); return false" />read more</a>]<br />
<div id="oculto1" style="display:none">
<span class="red">Engine/APU fleet management service delivering</span>: Maintenance tendering &amp; MRO contract negotiation; Maintenance policy &amp; procedures development ; fleet life cycle cost management; shop visit scheduling and budget planning; engine condition monitoring &amp; on-wing troubleshooting; shop visit credit negotiations; warranty &amp; insurance claim processing; component scrap reviews; PMA &amp; DER analysis and recommendation; OEM representation; AD &amp; SB monitoring &amp; recommendation; LLP &amp; component soft time monitoring.<br />
</div>

<br />
<b>FSSA</b>: Field Service Support Agreements [<a class="int" href="#" onclick="mostrar('2'); return false" />read more</a>]<br />
<div id="oculto2" style="display:none">
Engine /APU borescope inspections, on-wing troubleshooting, return to service certification (EASA/FAA)<br />
<br />
</div>
<br />


Ya les digo, de Javscript no me entero de nada. Gracias
  #6 (permalink)  
Antiguo 28/11/2009, 08:37
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Respuesta: Texto que se oculta al clickar el link

Hola de nuevo.

Pon así el enlace:

Código javascript:
Ver original
  1. <a class="int" href="#" onclick="mostrar('1',this); return false">read more</a>

Y el código:

Código javascript:
Ver original
  1. function mostrar(enla,enlace) {
  2. obj = document.getElementById('oculto'+enla);
  3. obj.style.display = (obj.style.display == 'block') ? 'none' : 'block';
  4. enlace.innerHTML = (enlace.innerHTML == 'x') ? 'read more' : 'x';
  5. }

Saludos,
  #7 (permalink)  
Antiguo 28/11/2009, 09:06
 
Fecha de Ingreso: octubre-2007
Mensajes: 91
Antigüedad: 16 años, 6 meses
Puntos: 1
Respuesta: Texto que se oculta al clickar el link

Funcionó! Genial, Gracias.
Otra medalla de mi parte.
  #8 (permalink)  
Antiguo 27/10/2010, 15:20
 
Fecha de Ingreso: octubre-2010
Mensajes: 4
Antigüedad: 13 años, 6 meses
Puntos: 0
Pregunta Respuesta: Texto que se oculta al clickar el link

Saludos amigos, necesito mostrar/ocultar simultáneamente varios div, encontré esta magnífica función que he aplicado como sigue. La cosa es saber si se puede y cómo reducir la función a su mínima expresión. ¿Me podéis aconsejar?, me imagino que se puede!!

----------------------------

<script>
function mostrar(enla) {
obj = document.getElementById('oculto');
obj.style.display = (obj.style.display == 'block') ? 'none' : 'block';
enla.innerHTML = (enla.innerHTML == 'Ocultar todo') ? 'Mostrar todo' : 'Ocultar todo';
}
function mostrar1(enla) {
obj = document.getElementById('oculto1');
obj.style.display = (obj.style.display == 'block') ? 'none' : 'block';
enla.innerHTML = (enla.innerHTML == 'Ocultar todo') ? 'Mostrar todo' : 'Ocultar todo';
}
function mostrar2(enla) {
obj = document.getElementById('oculto2');
obj.style.display = (obj.style.display == 'block') ? 'none' : 'block';
enla.innerHTML = (enla.innerHTML == 'Ocultar todo') ? 'Mostrar todo' : 'Ocultar todo';
}
</script>
</head>
<body>
<a href="#" onClick="mostrar(this);mostrar1(this);mostrar2(thi s); return false" />Mostrar todo</a>
<div id="oculto" style="display:none">
Este texto se verá cuando yo quiera
</div>
<div id="oculto1" style="display:none">
Este texto se verá cuando yo quiera
</div>
<div id="oculto2" style="display:none">
Este texto se verá cuando yo quiera
</div>
<p>Texto visible</p>
</body>

----------------------------

Un gran abrazo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:44.