2013-07-23 2 views
0

Недавно я переместил стиль CSS на тег div из встроенного стиля в внешнюю таблицу стилей. CSS для тега выглядит следующим образом:object.style.fontSize не получает значение

#ntext{ 
position:absolute; 
top:204px; 
left:100px; 
width:197px; 
height:45px; 
text-align:center; 
font-size:24px; 
white-space:nowrap; 
color:#FFFFFF; 
font-family:Times New Roman, Times, Baskerville, Georgia, serif} 

У меня есть функция JavaScript, который предназначен, чтобы уменьшить размер шрифта этого DIV, который выглядит следующим образом:

function rdText() 
{var tXt = document.getElementById("ntext"); 
var fstring = tXt.style.fontSize; 
var fnum = parseInt(fstring); 
fnum -=1 ; 
tXt.style.fontSize= fnum+"px"} 

Эта функция работала, прежде чем я переехал стиль, но теперь это не так. Я проследил проблему до .style.fontSize, не получая значение атрибута размера шрифта, поскольку он не возвращал правильное значение («24px») при тестировании с помощью alert(). CSS, похоже, правильно подключен, потому что функции, которые меняют другие части, такие как цвет, работают очень хорошо. Я также смог настроить размер шрифта вручную в таблице стилей.

Возможно, я совершу здесь действительно тупую ошибку, но для жизни меня не знаю, что это такое.

+1

Что вы видите, если сделать 'console.log (tXt.style)'? – Barmar

ответ

2

это работа для getComputedStyle()

function rdText(){ 
    var tXt = document.getElementById("ntext"); 
    var fnum = parseInt(getComputedStyle(tXt)['font-size']); 
    fnum -=1 ; 
    tXt.style.fontSize= fnum+"px" 
} 

, если вам необходимо поддерживать старый IE: http://www.quirksmode.org/dom/getstyles.html

+0

Не забудьте об основании для parseInt. – stavarotti

+0

@stavarotti: dom props никогда не загружают нули, поэтому формальный радиус в этом случае не нужен. некоторые люди over-code по одной или другой причине, но я этого не делаю. – dandavis

+0

Большое вам спасибо! Должен ли я использовать getComputedStyle() для изменения других вещей о CSS, таких как цвет и шрифт, althoug они, похоже, работают с object.style? – Ducky

Смежные вопросы