Я пытаюсь добавить некоторые функции изменения размера текста, используя этот код:
$('#text-resize a').click(function(){
var currentValue = $('#page-body').css('fontSize');
var currentSize = parseFloat(currentValue, 10);
var fontUnit = currentValue.slice(-2);
var newSize = currentSize;
if ($(this).attr('rel') == 'decrease'){
if (currentSize > 13){
var newSize = currentSize / 1.2;
}
}
else if ($(this).attr('rel') == 'increase'){
if (currentSize < 19){
var newSize = currentSize * 1.2;
}
}
else {
newSize = 1;
fontUnit = 'em';
}
newSize += fontUnit;
$('#page-body').css('fontSize', newSize);
return false;
});
Я знаю, что это не самый чистый код, но моя проблема в том, что в какой-то момент (получение или установка размера шрифта для #page-body
десятичные точки теряются.
Например, я начинаю со значения 16px (из моего CSS-файла) и при увеличении его вычисляется до 19.2px. Если я увеличу снова, предупреждение currentValue (я пропустил предупреждение) говорит, что это 19px.
Может кто-нибудь сказать мне, почему игнорируются десятичные разряды и как это предотвратить?
Если это поможет, мой стартовый CSS включает в себя:
body { font-size: 16px; }
#page-body { font-size: 1em; }
Спасибо