要素コンテナのサイズに応じて小さな名前の要約関数を作成しようとしています。これが私が持っているものです。
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...'
私が得ているように見えるのはundefinedundefです...誰かが私がどこで間違っているのかを見ることができますか?
編集:
そのような機能をグーグルで検索している人のために、以下のコメントに基づいてコードを改訂しました。
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;
}
}
スクリーンショット: