在其帐户信息中心上向特定群组的用户显示唯一编号。此数字从数据库中获取并经常更改。这个数字不到10,000,000。
改变号码的最佳方式是什么?让我们说#34; 2,643,977"对于" 2.6M"如果元素的宽度开始切断文本,那么可以说100px可以显示2,643,977,但减少到50px它显示2.6M?
文本元素是百分比,因此较小的屏幕将剪切大数字。
答案 0 :(得分:1)
您可以使用如下所示的js函数来检查您的内容是否过宽,然后使用其他答案中提供的其中一项功能缩短它,如果是这样的话。
此函数接受要检查的文本,要在px中约束它的宽度,以及实际元素使用的css类(在空格分隔的字符串中)。它返回一个bool,指示文本是否适合。
function checkIfFits(text, width, classes) {
var s = document.createElement("span");
s.className = classes;
s.innerHTML = text;
if (parseInt(s.offsetWidth, 10) > width) return false;
return true;
}
答案 1 :(得分:0)
这个怎么样:
n2Display = (n<1000000) ? n : (n/1000000).toFixed(1) + 'M';
我假设n
是一个数字,而不是这里的字符串
答案 2 :(得分:0)
function shorten(n){
var l=Math.floor(n.length/3-1);
return n.slice(0,n.length-l*3)+["","k","M","B"][l];
}
alert(shorten("123456"));
alert(shorten("123456789123"));
请注意,这需要传递Int中的String。
它只是切断了3个数字的每个块,并用其缩写形式替换它:
123,456 => 123k
123,456,789 => 123M