Hola que tal necesito verdaderamente ayuda con esto!!!
Necesito cortar el texto a partir de la 5 ta linea de texto que tengo en un div, digamos q de la 6 ta linea inclusive en adelante lo tengo que cortar.
GRACIAS
| |||
cuantos lineas de texto tengo en un div? Hola que tal necesito verdaderamente ayuda con esto!!! Necesito cortar el texto a partir de la 5 ta linea de texto que tengo en un div, digamos q de la 6 ta linea inclusive en adelante lo tengo que cortar. GRACIAS |
| ||||
Respuesta: cuantos lineas de texto tengo en un div? Fijate si algo así te sirve (y no repitas tus mensajes): Código PHP:
__________________ Fast, lightweight, cross-platform framework for building incredible, powerful JavaScript applications |
| ||||
Respuesta: cuantos lineas de texto tengo en un div? Y así te evitás los testeos y funcionará en cualquier ubicación de la página: Código PHP:
__________________ Fast, lightweight, cross-platform framework for building incredible, powerful JavaScript applications Última edición por Panino5001; 09/10/2008 a las 06:05 |
| |||
Respuesta: cuantos lineas de texto tengo en un div? Empecé a escribir éste mensaje por lo menos 3 veces. Y cada vez aparecía algo más para comentar que me obligaba a reescribir lo anterior. Hago esta aclaración porque ya no pienso seguir editando, y dejo lo que tengo, que ahora puede ser un poco inconexo. Primero y principal : muy bueno el código Panino5001, es de esos que a mi me gustán porque tiene 5001 cosas para desarmar y estudiar, más allá de la idea. (Bué, más o menos como todos los tuyos.) Al verlo recordé algunos temas donde se trató el asunto desde distintas necesidades, y por supuesto los busqué para hacer el clásico post-ring que los uniera. Me encontré con viejos ejemplos que puse y no actualicé. Hoy existen nuevos navegadores y DTDs, así que antes que nada empecé con eso. Después sí, me dediqué a probar tu ejemplo ... y me pasó algo raro. En Internet Explorer 7 —no sé en otras versiones— me agrega un caracter. Quiero decir, que no termina en la línea que corresponde sino en la siguiente, con una sola letra y no con toda la línea. Como cortaste el texto con split(''), pensé que había un error en el bucle y contaba uno de más. Pero no. Contaba bien, y en Firefox y Opera funciona perfecto. En la nebulosa de mi memoria me pareció recordar que ya había visto algo así en alguna parte de otro invento de MSIE. Como estaba ya revisando mis viejos ejemplos, aproveché para buscar. Y lo encontré. Era un código que bajé no sé de qué sitio, porque no guardé los créditos. Y ni falta que hacía, porque funcionaba tan mal que me puse a reescribirlo todo, así que ahora es mío . En el momento ese "error" era muy útil, y yo creí que aparecía porque usaba TextRange(); pero parece que no. El efecto era una especie de lupa que aumentaba una copia del texto en una capa al pasarle el puntero palabra por palabra. Cuando llegábamos a la última de una línea, si seguíamos avanzando nos mostraba la palabra siguiente —que en realidad estaba abajo, en la próxima línea— y servía como referencia para bajar el puntero y encontrar por dónde seguir leyendo. Era una ayuda para personas con poca visión. Y el error es el mismo. En este caso cuenta la siguiente letra como si estuviese en la misma línea, cuando en realidad ya está abajo. Preparé una versión que corrige el problema con un hack para IE : resta un caracter . Usé otra forma de reponer el texto ya cortado, con substring(), pero basicamente es lo mismo. Ya estaba haciendo los enlaces y copiando los códigos para postear acá (agrego uno que mencioné en uno de los links, y por razones personales no voy a postear en ese tema) cuando tuve la brillante idea de probar tu contador en Chrome. Se come una línea entera. Tiré todo, me harté de las incompatibilidades, que lo arregle otro. Acá está la versión para IE. Le puse un mensaje para que se pueda seguir la evolución del escript; y reduje las medidas para que no se hiciera tan largo.
Código:
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>test</title> <script> Array.prototype.inArray=function(el){ for(var i=0,l=this.length;i<l;i++) if(this[i]==el) return true; return false; } onload=function(){ var i , txt='<span>'+ document.getElementById('ej').innerHTML.split('').join('</span><span>') +'</span>'; document.getElementById('ej').innerHTML = txt; var t=''; var cuenta=[]; for(var i=0, l=document.getElementById('ej').getElementsByTagName('span'),ll = l.length;i<ll;i++){ if(!cuenta.inArray(l[i].offsetTop)) cuenta.push(l[i].offsetTop); if(cuenta.length<3){ t+=l[i].innerHTML; alert(t+"|"+i+"\r\n"+cuenta) } else break; } document.getElementById('ej').innerHTML = (navigator.userAgent.indexOf('msie') != -1)? t : t.substring(0,i-1); } </script> </head> <body> <br /> <br /> <br /> <br /> <br /> <br /> <div id="ej" style="width:100px; height:200px; border:1px solid red;">Hola que tal necesito verdaderamente ayuda con esto!!! Necesito cortar el texto a partir de la 5 ta linea de texto que tengo en un div, digamos q de la 6 ta linea inclusive en adelante lo tengo que cortar. GRACIAS</div> </body> </html> |
| |||
Respuesta: cuantos lineas de texto tengo en un div? Éste es un método propietario para medir líneas que usa MSIE. En los último enlaces hay una versión previa.
Código:
Acá está el de la lupa.<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head><title>NUMERA LÍNEAS. </title> <style type="text/css"> body{font-size:100%; font-family:'times new roman' times serif;} h3{text-align:center} #contLin{position:absolute; top:0; left:5px; z-index:-1; } .laLinea{text-align:right; vertical-align:bottom; font-weight:bold; font-size:75%; font-family:monospace; width:30px; } #contTex{margin-left:30px; } </style> <script type="text/javascript"> var grisBlanco = "#cccccc"; function numerar() { if(document.all){ contLin.innerHTML = ""; grisBlanco = "#cccccc"; var lineas = ""; var leeLin = contTex.getClientRects(); var totLin= leeLin.length; var arriba = leeLin[0].top + cuerpo.scrollTop; lineas += "<table title='Click para destacar n\xfamero de l\xednea.' cellpadding=0 style='position:absolute; border-collapse:collapse; cursor:default; top:" +arriba+ "px; '>"; for(L=0; L<totLin; L++){ derecha = leeLin[L].right + cuerpo.scrollLeft; izquierda = leeLin[L].left + cuerpo.scrollLeft; arriba = leeLin[L].top + cuerpo.scrollTop; abajo = leeLin[L].bottom + cuerpo.scrollTop; grisBlanco = (grisBlanco == "#cccccc") ? "#eeeeee" : "#cccccc"; lineas += "<tr><td class='laLinea' onclick='destaca(this)' style='height:" +(abajo-arriba)+ "; background:" +grisBlanco+ "; '>" +L+ "</td></tr>"; } lineas += "</table>"; contLin.innerHTML = lineas; } } function destaca(T){ if(T.style.color == "#ff0000"){ T.style.color = "#000000"; T.removeAttribute("title"); } else { T.style.color = "#ff0000"; var rec = prompt("Escriba un recordatorio.", T.innerText); T.title = (rec != null)? rec : T.innerText; } } </script> </head> <body id="cuerpo" onload="numerar()" onresize="numerar()"> <h2>Numera líneas de texto.</h2> <p>Números en <tt>td</tt>. Destaca con <i>click</i>. </p> <div id="contTex"> <h3>Título.</h3> Texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto. <h4>Subtítulo.</h4> Texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto.<br /> Texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto.<br /> Texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto.<br /> Texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto. </div> <div id="contLin"></div> <p><br /><br /><br /></p> </body></html>
Código:
Texto en dos columnas <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head><title>LUPA DE TEXTO.</title> <script type="text/javascript"> <!-- var zoom = false; function Agranda(){ if(window.event.shiftKey){ var MiTexto= document.body.createTextRange(); var TextoBoton= Boton.createTextRange(); document.body.style.cursor='hand'; TextoBoton.text=""; posX = window.event.x; posY = window.event.y; MiTexto.moveToPoint(posX,posY); MiTexto.expand("word",1); TextoBoton.text=MiTexto.text; if (posX > document.body.clientWidth*0.50){ posX=posX-Boton.offsetWidth;} if (posY > document.body.clientHeight*0.50){ posY=posY-Boton.offsetHeight;} Boton.style.left=(posX+document.body.scrollLeft)*1; Boton.style.top=(posY+document.body.scrollTop)*1; Boton.style.visibility='visible'; return true; } else{ document.body.style.cursor=''; Boton.style.visibility='hidden'; } } //--> </script> <style type="text/css"> #Boton{font-size: 48px; background: cyan; visibility: hidden; font-family: arial; position: absolute} i{font:16pt/26pt cursive} .der{text-align:right; margin-right:10%; font-weight:600; text-decoration:underline} </style> </head> <body onmousemove=Agranda()> <h2>"Lupa " que sigue al puntero y muestra texto ampliado mientras se presiona [<font face="sans-serif" >SHIFT</font>].</h2> <blockquote><i> <b>La Casa Del Hombre.</b> <br><br> Negros nubarrones <br> enturbian mi camino <br> a la casa del Hombre.<br> ¿Acaso no estuvieron siempre?. <br><br> ¿O es que mis defensas febriles <br> han dejado pasar <br> al saboteador de las sombras? <br><br> Mira hermano<br> a través de tus ojos<br> y dime si el saboteador ha llegado ya. <p class=der>RAYUELA.</p> </i></blockquote> <button id=Boton></button> </body></html> Presentacion "por paginas" saber el ANCHO de cada caracter que recorremos.[Buenos días a tod@s] P.D. : Cuando me calmé un poco se me ocurrió que podemos ir rellenando con cada comprobación hasta el span que contamos, seguido de un bloque vacío. Y lo que medimos hasta arriba es el bloque, que siempre va a estar abajo porque por definición no es inline. Lo de Chrome es porque los espacios siempre los manda abajo en vez de seguir en la misma línea como los otros (¿Safari hace lo mismo?). Quizá si contamos del fin hacia el principio ... qué sé yo _ |