Foros del Web » Programando para Internet » Javascript »

ver mas y ver menos

Estas en el tema de ver mas y ver menos en el foro de Javascript en Foros del Web. hola que tal me ayudarian con esto? lo que quiero ahcer es lo siguiente yo pongo un texto largo, pero no quiero que aparesca todo ...
  #1 (permalink)  
Antiguo 27/07/2011, 23:23
Avatar de polarubi  
Fecha de Ingreso: noviembre-2008
Mensajes: 243
Antigüedad: 16 años
Puntos: 2
Pregunta ver mas y ver menos

hola que tal me ayudarian con esto?

lo que quiero ahcer es lo siguiente

yo pongo un texto largo, pero no quiero que aparesca todo por eso quiciera poner el famosito "VER MAS" y que debajo me ponga el texto que le sigue y luego poder ocultarlo con "VER MENOS"

seria posible eso?

muchas gracias y espero sus ayudas =)
  #2 (permalink)  
Antiguo 28/07/2011, 04:04
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 5 meses
Puntos: 1012
Respuesta: ver mas y ver menos

sólo se trata de mostrar y ocultar un div. usa la propiedad display con los valores block y none
  #3 (permalink)  
Antiguo 28/07/2011, 05:16
Avatar de ceSharp  
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 495
Antigüedad: 16 años
Puntos: 66
Respuesta: ver mas y ver menos

no hace mucho respondí a un tema similar:

http://www.forosdelweb.com/f13/mostr...stante-925757/

saludos.
  #4 (permalink)  
Antiguo 28/07/2011, 11:37
Avatar de polarubi  
Fecha de Ingreso: noviembre-2008
Mensajes: 243
Antigüedad: 16 años
Puntos: 2
Respuesta: ver mas y ver menos

gracias, pero ese codigo tiene para ocultarlo tmb?
  #5 (permalink)  
Antiguo 29/07/2011, 00:59
Avatar de ceSharp  
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 495
Antigüedad: 16 años
Puntos: 66
Respuesta: ver mas y ver menos

si te refieres con ocultar a volver a comprimir si, claro. si mal no recuerdo, pone 'ver mas' y cuando le das, el texto se despliega y el 'ver más' se convierte en 'volver', y cuando le das vuelve a comprimir el texto.
si lo que quieres es ocultar del todo el texto, pues con un sencillo .style.display.none, no?

saludos.
  #6 (permalink)  
Antiguo 29/07/2011, 05:52
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 5 meses
Puntos: 1012
Respuesta: ver mas y ver menos

Cita:
Iniciado por ceSharp Ver Mensaje
si lo que quieres es ocultar del todo el texto, pues con un sencillo .style.display.none, no?

saludos.
de eso se trata, de ocultar o mostrar los bloques. esto lo digo para corregir
Cita:
.style.display.none
ha de ser
Cita:
.style.display = 'none';
  #7 (permalink)  
Antiguo 29/07/2011, 07:01
Avatar de ceSharp  
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 495
Antigüedad: 16 años
Puntos: 66
Respuesta: ver mas y ver menos

uy! que descuido... pues sí, toda la razón IsabelM

style.display = 'none'

me lo grabo 'a fuego' en el brazo, para no volver meter la pata, jejejeje.

saludos.
  #8 (permalink)  
Antiguo 31/07/2011, 17:11
Avatar de polarubi  
Fecha de Ingreso: noviembre-2008
Mensajes: 243
Antigüedad: 16 años
Puntos: 2
Respuesta: ver mas y ver menos

no logre hacerlo funcionar, el texto LEER MAS aparece pero como texto solamente, si quiero clickearlo no hace nada :/
  #9 (permalink)  
Antiguo 01/08/2011, 00:49
Avatar de ceSharp  
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 495
Antigüedad: 16 años
Puntos: 66
Respuesta: ver mas y ver menos

polarubi,
si quieres muestra tú código, y vemos a ver en qué está fallando.

saludos.
  #10 (permalink)  
Antiguo 01/08/2011, 19:20
Avatar de polarubi  
Fecha de Ingreso: noviembre-2008
Mensajes: 243
Antigüedad: 16 años
Puntos: 2
Respuesta: ver mas y ver menos

ok, ahora cuando llego a mi casa se los muestro, muchas gracias por sus ayudas :D
  #11 (permalink)  
Antiguo 01/08/2011, 21:50
Avatar de polarubi  
Fecha de Ingreso: noviembre-2008
Mensajes: 243
Antigüedad: 16 años
Puntos: 2
Respuesta: ver mas y ver menos

Cita:
Iniciado por ceSharp Ver Mensaje
polarubi,
si quieres muestra tú código, y vemos a ver en qué está fallando.

saludos.
asi se me ve el codigooo

  #12 (permalink)  
Antiguo 02/08/2011, 00:01
Avatar de ceSharp  
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 495
Antigüedad: 16 años
Puntos: 66
Respuesta: ver mas y ver menos

mmmmm, quería decir las funciones javascript que hacen que funcione lo que has puesto, y el HTML. con lo que me has puesto no puedo hacer nada... :)
  #13 (permalink)  
Antiguo 02/08/2011, 01:10
Avatar de polarubi  
Fecha de Ingreso: noviembre-2008
Mensajes: 243
Antigüedad: 16 años
Puntos: 2
Respuesta: ver mas y ver menos

Cita:
Iniciado por ceSharp Ver Mensaje
mmmmm, quería decir las funciones javascript que hacen que funcione lo que has puesto, y el HTML. con lo que me has puesto no puedo hacer nada... :)
claro tenes razon ajaj

y mira en mi index.php puse esto

Código HTML:
<script type="text/javascript">
var texto_original = '';
function gestionarTexto(div)
{
//aquí valoramos si hay que expandir o contraer el texto, en función de lo que ponga en el <DIV>
if(div.innerHTML == 'Volver')
{contraer();div.innerHTML='Leer más';}
else
{expandir();div.innerHTML='Volver'}
}
function contraer()
{
//vamos a limitar el texto a 50 caracteres y guardamos el texto original
texto_original = document.getElementById('el_div').innerHTML;
document.getElementById('el_div').innerHTML = texto_original.substring(0,50) + '...';
}
function expandir()
{
document.getElementById('el_div').innerHTML=texto_ original;
}
</script> 
y donde quiero que aparesca lo que quiero

lo puse en cualquier lado (dentro de <html>) esto

Código HTML:
<body onload="contraer();">

<table width="200px">
<tr>
<td>
<div id="el_div">
uno dos tres cuatro cinco seis siete ocho nueve diez once doce trece catorce quince
dieciseis diecisiete dieciocho diecinueve veinte</div>
<br />
<div style="font-family:Courier New;font-size:8pt;color:Blue;cursor:hand" onclick="gestionarTexto(this);" id="mas">Leer más</div>
</td>
</tr>
</table>

</body> 
saludos
  #14 (permalink)  
Antiguo 02/08/2011, 01:36
Avatar de ceSharp  
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 495
Antigüedad: 16 años
Puntos: 66
Respuesta: ver mas y ver menos

vale, ya he visto qué pasaba...

dentro de la funcion expandir() la variable texto_original tenía un espacio que separaba la variable, y se estaba volviendo loco, jejejeje

Código HTML:
Ver original
  1. function expandir()
  2. {
  3. document.getElementById('el_div').innerHTML=texto_original; //comprueba que esta variable no tiene ningún espacio
  4. }

es posible que cuando copiaste el codigo del enlace que te puse se copien espacios sin querer. Pero vamos, que borrando dicho espacio se soluciona.

saludos.
  #15 (permalink)  
Antiguo 02/08/2011, 03:49
Avatar de polarubi  
Fecha de Ingreso: noviembre-2008
Mensajes: 243
Antigüedad: 16 años
Puntos: 2
Respuesta: ver mas y ver menos

Cita:
Iniciado por ceSharp Ver Mensaje
vale, ya he visto qué pasaba...

dentro de la funcion expandir() la variable texto_original tenía un espacio que separaba la variable, y se estaba volviendo loco, jejejeje

Código HTML:
Ver original
  1. function expandir()
  2. {
  3. document.getElementById('el_div').innerHTML=texto_original; //comprueba que esta variable no tiene ningún espacio
  4. }

es posible que cuando copiaste el codigo del enlace que te puse se copien espacios sin querer. Pero vamos, que borrando dicho espacio se soluciona.

saludos.
muchas gracias por tu respuesta pero sigue igual, mira te dejo el codigo de como esta ahora

Código HTML:
function expandir()
{
document.getElementById('el_div').innerHTML=texto_original;}
  #16 (permalink)  
Antiguo 02/08/2011, 04:29
Avatar de ceSharp  
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 495
Antigüedad: 16 años
Puntos: 66
Respuesta: ver mas y ver menos

me dejas loco, jejejeje.

mira prueba esto tal cual te lo pongo en un archivo independiente HTML
Código HTML:
Ver original
  1. <html xmlns="http://www.w3.org/1999/xhtml">
  2. <head runat="server">
  3.     <title>Untitled Page</title>
  4. <script type="text/javascript">
  5. var texto_original = '';
  6. function gestionarTexto(div)
  7. {
  8. //aquí valoramos si hay que expandir o contraer el texto, en función de lo que ponga en el <DIV>
  9. if(div.innerHTML == 'Volver')
  10. {contraer();div.innerHTML='Leer más';}
  11. else
  12. {expandir();div.innerHTML='Volver'}
  13. }
  14. function contraer()
  15. {
  16. //vamos a limitar el texto a 50 caracteres y guardamos el texto original
  17. texto_original = document.getElementById('el_div').innerHTML;
  18. document.getElementById('el_div').innerHTML = texto_original.substring(0,50) + '...';
  19. }
  20. function expandir()
  21. {
  22. document.getElementById('el_div').innerHTML=texto_original;
  23. }
  24. </head>
  25. <body onload="contraer();">
  26.         <div>
  27.            <table width="200px">
  28. <tr>
  29. <td>
  30. <div id="el_div">
  31. uno dos tres cuatro cinco seis siete ocho nueve diez once doce trece catorce quince
  32. dieciseis diecisiete dieciocho diecinueve veinte</div>
  33. <br />
  34. <div style="font-family:Courier New;font-size:8pt;color:Blue;cursor:hand" onclick="gestionarTexto(this);" id="mas">Leer más</div>
  35. </td>
  36. </tr>
  37.         </div>
  38. </body>
  39. </html>

así tal cual te lo he puesto y guardado en un archivo html me funciona bien en IE, FF y Chrome. La verdad no sé qué puede estar dándote error...

bueno, pruébalo eso si quieres y nos cuentas.

saludos
  #17 (permalink)  
Antiguo 02/08/2011, 14:21
Avatar de polarubi  
Fecha de Ingreso: noviembre-2008
Mensajes: 243
Antigüedad: 16 años
Puntos: 2
Respuesta: ver mas y ver menos

Cita:
Iniciado por ceSharp Ver Mensaje
me dejas loco, jejejeje.

mira prueba esto tal cual te lo pongo en un archivo independiente HTML
Código HTML:
Ver original
  1. <html xmlns="http://www.w3.org/1999/xhtml">
  2. <head runat="server">
  3.     <title>Untitled Page</title>
  4. <script type="text/javascript">
  5. var texto_original = '';
  6. function gestionarTexto(div)
  7. {
  8. //aquí valoramos si hay que expandir o contraer el texto, en función de lo que ponga en el <DIV>
  9. if(div.innerHTML == 'Volver')
  10. {contraer();div.innerHTML='Leer más';}
  11. else
  12. {expandir();div.innerHTML='Volver'}
  13. }
  14. function contraer()
  15. {
  16. //vamos a limitar el texto a 50 caracteres y guardamos el texto original
  17. texto_original = document.getElementById('el_div').innerHTML;
  18. document.getElementById('el_div').innerHTML = texto_original.substring(0,50) + '...';
  19. }
  20. function expandir()
  21. {
  22. document.getElementById('el_div').innerHTML=texto_original;
  23. }
  24. </head>
  25. <body onload="contraer();">
  26.         <div>
  27.            <table width="200px">
  28. <tr>
  29. <td>
  30. <div id="el_div">
  31. uno dos tres cuatro cinco seis siete ocho nueve diez once doce trece catorce quince
  32. dieciseis diecisiete dieciocho diecinueve veinte</div>
  33. <br />
  34. <div style="font-family:Courier New;font-size:8pt;color:Blue;cursor:hand" onclick="gestionarTexto(this);" id="mas">Leer más</div>
  35. </td>
  36. </tr>
  37.         </div>
  38. </body>
  39. </html>

así tal cual te lo he puesto y guardado en un archivo html me funciona bien en IE, FF y Chrome. La verdad no sé qué puede estar dándote error...

bueno, pruébalo eso si quieres y nos cuentas.

saludos
ahora si funciona perfecto, podria ser que cuando situo el mouse en LEER MAS se ponga la manito como si fuera un link

te agradesco =)
  #18 (permalink)  
Antiguo 02/08/2011, 23:54
Avatar de ceSharp  
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 495
Antigüedad: 16 años
Puntos: 66
Respuesta: ver mas y ver menos

ok me alegro de que te funcione! :)

para que el cursor sea una manita, en firefox se usa cursor:pointer. Yo es que como practicamente solo IE me olvido del resto de navegadores (en mi trabajo solo usamos IE). deberías de modificar el <div> del 'leer mas' de esta manera:

Código HTML:
Ver original
  1. <div style="font-family:Courier New;font-size:8pt;color:Blue;cursor:pointer" onclick="gestionarTexto(this);" id="mas">Leer más</div>

saludos
  #19 (permalink)  
Antiguo 03/08/2011, 14:20
Avatar de polarubi  
Fecha de Ingreso: noviembre-2008
Mensajes: 243
Antigüedad: 16 años
Puntos: 2
Respuesta: ver mas y ver menos

Cita:
Iniciado por ceSharp Ver Mensaje
ok me alegro de que te funcione! :)

para que el cursor sea una manita, en firefox se usa cursor:pointer. Yo es que como practicamente solo IE me olvido del resto de navegadores (en mi trabajo solo usamos IE). deberías de modificar el <div> del 'leer mas' de esta manera:

Código HTML:
Ver original
  1. <div style="font-family:Courier New;font-size:8pt;color:Blue;cursor:pointer" onclick="gestionarTexto(this);" id="mas">Leer más</div>

saludos
OHH muchas gracias amigooooooooooooo, me sirviooooooooooo te agradesco muchooo =)

Etiquetas: menos
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 18:30.