show hide text (first 90 words) with read more link

Trying to find the easiest solution to implementing a read more link that would read the first 90 or so words from a string and truncate it by appending a "...more" link. upon clicking the link the remainder of the text would be revealed. I know that it is done with hide and show divs but how can I get it to only show example 90 words or a certain amount of characters?

your help is appreciated.  
thanks in advance.
jriver12Asked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

selvolCommented:
0
selvolCommented:
Yes that on is set at 100 chars.
Here's 90 word (90 words @ 3 letters) 270 . But you knew that.
 

<!--  http://www.barelyfitz.com/projects/truncate/ --><html>
<head>
<p id="truncateMe">Lorem ipsum dolor sit amet, consectetuer adipiscing
elit. Aenean consectetuer. Etiam venenatis. Sed ultricies, pede sit
amet aliquet lobortis, nisi ante sagittis sapien, in rhoncus lectus
mauris quis massa. Integer porttitor, mi sit amet viverra faucibus,
urna libero viverra nibh, sed dictum nisi mi et diam. Nulla nunc eros,
convallis sed, varius ac, commodo et, magna. Proin vel
risus. Vestibulum eu urna. Maecenas lobortis, pede ac dictum pulvinar,
nibh ante vestibulum tortor, eget fermentum urna ipsum ac neque. Nam
urna nulla, mollis blandit, pretium id, tristique vitae, neque. Etiam
id tellus. Sed pharetra enim non nisl.</p>
 
<script type="text/javascript">
 
var len = 270;
var p = document.getElementById('truncateMe');
if (p) {
 
  var trunc = p.innerHTML;
  if (trunc.length > len) {
 
    /* Truncate the content of the P, then go back to the end of the
       previous word to ensure that we don't truncate in the middle of
       a word */
    trunc = trunc.substring(0, len);
    trunc = trunc.replace(/\w+$/, '');
 
    /* Add an ellipses to the end and make it a link that expands
       the paragraph back to its original size */
    trunc += '<a href="#" ' +
      'onclick="this.parentNode.innerHTML=' +
      'unescape(\''+escape(p.innerHTML)+'\');return false;">' +
      '...<\/a>';
    p.innerHTML = trunc;
  }
}
 
</script>
 
 
</body>
</html>

Open in new window

0
jriver12Author Commented:
selvol:
Awesome!  one quick question.  is there a way to minimize it again?
0
Determine the Perfect Price for Your IT Services

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden with our free interactive tool and use it to determine the right price for your IT services. Download your free eBook now!

jriver12Author Commented:
selvol:
Did a bit more testing:  the script works great for one <p> using the id=truccateme, however we have multiple <p>  that we would like to truncate.  we are trying to use this fuctionality in our FAQ  whereby when we show the question and only a certain amount of the answer  until the click the ....  any suggestions?
0
selvolCommented:
Sure 2 mins,
 
 
0
selvolCommented:
You can always fall back on on toggle..
 
I'll check out the multi <p>'s on a page.
a few mins.
 
Selvol

<script type="text/javascript">
function toggleContent() {
  var contentId = document.getElementById("content");
  contentId.style.display == "block" ? contentId.style.display = "none" :
contentId.style.display = "block";
}
</script>
   <td class="info">BROWN</td>
   </tr>
    </table>
     </td>
      </tr>
       </table>
        </tr>
         </table>      <tr>
            <table width="433">
             <tr class="charge_info">
      <td><div ID="content" style="display:block;"><p id="t">
               In Custody For:<br>
	MISDEMEANOR  ASSAULT INTENT RECKLESS INJURE<br>
	MISDEMEANOR  DISORDERLY CONDUCT-FIGHTING   <br>
     </td></p>
      </tr>
       </table>
 
 
<button style="background-color: #ffffff;font: 6;border: 0;" onclick="toggleContent()">Toggle</button>
 
 
 
  </table><br>
<h1 id="newTitle">JON, RUDY DOE</h1>#P543238</td>
	<table  width="400" border="0">
<tr class="inmate_info">
	<td colspan="2">Date: May -14-2009</td>
 
<script type="text/javascript"> 
var len = 21;
var p = document.getElementById('t');
if (p) { 
  var trunc = p.innerHTML;
  if (trunc.length > len) { 
    trunc = trunc.substring(0, len);
    trunc = trunc.replace(/\w+$/, ''); 
    /* Add an ellipses to the end and make it a link that expands
       the paragraph back to its original size */
    trunc += '<a href="#" ' +
      'onclick="this.parentNode.innerHTML=' +
      'unescape(\''+escape(p.innerHTML)+'\');return false;">' +
      'Click to see<\/a>';
    p.innerHTML = trunc;
  }
} 
</script>

Open in new window

0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
selvolCommented:
Apologies, I have to return some time later? have you looked at http://jqueryui.com/ before?
 
Super stuff......
Selvol
0
jriver12Author Commented:
yes.  I will relook though.
0
selvolCommented:

Did you ever solve this?.
 
Selvol
0
jriver12Author Commented:
selvol, no I have not. sorry in the delay at getting back but I was out of town.
0
jriver12Author Commented:
thanks.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
JavaScript

From novice to tech pro — start learning today.