Im essayant de faire une fonction de résumé de petit nom en fonction de la taille du conteneur d'éléments, voici ce que j'ai;javascript Résumé fonction
function shorten_text(str, size){
size = size.match(/[0-9]*/);
var endValue = Math.floor(Number(size)/10);
var number;
var newStr;
for (number = 0; number <= endValue; number++) {
if(str[number].length != 0) {
newStr += str[number];
}
}
return newStr + '...';
}
shorten_text('Phil Jackson', '94px');
// output should be 'Phil Jack...'
Ce que je semble obtenir est undefinedundef ... quelqu'un peut voir où je me trompe?
EDIT:
code révisé en fonction des commentaires ci-dessous pour tous ceux qui googler pour cette fonction:
function shorten_text(str, size){
size = parseInt(size);
var endValue = Math.floor(size/10);
if(str.length > endValue) {
return str.substring(0, endValue) + '...';
}else{
return str;
}
}
PLAN ÉCRAN:
screenshot http://www.freeimagehosting.net/uploads/4639663b52.gif
Supposez-vous que chaque personnage a un pixel de large? Comment cela marche-t-il? – Nir
J'ai ajouté une capture d'écran pour montrer. –
Merci. Je ne comprends toujours pas comment ajouter un caractère pour chaque pixel de la largeur, car chaque personnage a une largeur variable qui est sûrement supérieure à 1 pixel. – Nir