Daily Archives: 22 Maggio, 2007

Javascript: troncare testo senza spezzare la parola

Pubblicato da

Spesso nelle pagine che contengono testo come risultato di una query o che devono avere una formattazione particolare, dobbiamo avere un controllo sulla quantità di testo che deve essere presente in un paragrafo.
Viene in aiuto questo semplice javascript che tronca il testo senza spezzare la parola.
Qui è possibile vedere un esempio del risultato finale.
Di seguito il codice javascript

[html]/* This script and many more are available free online at
The JavaScript Source!! http://javascript.internet.com
Created by: Patrick Fitzgerald | http://www.barelyfitz.com/ */
function truncate() {
var len = 100;
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 += ‘
‘onclick=”this.parentNode.innerHTML=’ +
‘unescape(\”+escape(p.innerHTML)+’\’);return false;”>’ +
[ more … ]<\/a>’;
p.innerHTML = trunc;
}
}
}
// Multiple onload function created by: Simon Willison
// http://simon.incutio.com/archive/2004/05/26/addLoadEvent
function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != ‘function’) {
window.onload = func;
} else {
window.onload = function() {
if (oldonload) {
oldonload();
}
func();
}
}
}
addLoadEvent(function() {
truncate();
});[/html]

[via Javascript Source]