2015-12-04 5 views
1

Как ограничить количество максимальных цифр, которые будут отображаться. Например, если я хочу максимум 15 цифр и после 15 цифр будет отображаться три точки.Как ограничить количество валов

'<div class="secondpart"><h4>'+val[0]+'</h3>'+ 

'</h4><span style="color:#3498db">'+val[1]+'$</span></h4></div></li>'; 

Вал, я хочу ограничить значение val [1], а максимальные цифры должны быть 15, например. Благодарим за помощь!

Я попытался добавить это + вал [1] .length> = 8+ Но это не работает, потому что его не правильный путь я догадываюсь

ответ

1

сделать небольшую функцию форматтера formatIt(val[1]):

function formatIt(myVal){ 
    if(myVal.length > 15) 
    myVal = myVal.substring(0,15) + "..."; 
    return myVal 
} 

если вы хотели, 3 маленьких точек и у вас есть максимальная ширина в виде (вместо максимального количества символов), вы также можете использовать CSS для этого:

text-overflow: ellipsis;

0

Вы можете ограничить вам цифру через предел ширины пролета:

span{ 
    display:inline-block; 
    width:180px; 
    white-space: nowrap; 
    overflow:hidden !important; 
    text-overflow: ellipsis; 
} 
+0

Это, вероятно, будет зависеть от шрифта, который вы используете. Вы должны убедиться, что это шрифт с фиксированной шириной. – spozun

0

Звуки для меня, как ваш val массив содержит целые числа, которые не работают должным образом при попытке определить количество цифр. Попробуйте преобразовать значение в строку перед тестированием длины. Вот пример:

var val = new Array(123456789, 123456789); 

if (val[1].toString().length > 15) { 
    val[1] = val[1].toString().substr(0,15) + "..."; 
} 

document.write('<div class="secondpart"><h4>'+val[0]+'</h3>'+ 
'</h4><span style="color:#3498db">'+val[1]+'$</span></h4></div></li>');