Я пытаюсь добавить некоторый текст изменения размера функциональность с помощью этого кода:Десятичный игнорируется при изменении размера шрифта с JS
$('#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.Если я снова увеличиваю, предупреждение о текущем значении (я забыл предупреждение) говорит, что это 19px.
Может ли кто-нибудь сказать мне, почему десятичные знаки игнорируются и как это предотвратить?
Если это помогает, моя стартовая CSS включает в себя:
body { font-size: 16px; }
#page-body { font-size: 1em; }
Благодаря
Вы используете '' var' для NewSize 'после его объявления; это не связано с проблемой, но это немного странно (и непоследовательно). –
Спасибо, что заметили, что Дэйв. – heggsta