2008-12-08 3 views
7

У меня есть сценарий, который анимирует небольшой DIV, появляющийся на странице. Все работает отлично в IE, а в FF, если я удаляю DOCTYPE, но когда DOCTYPE XHTML/Transitional, в Firefox ширина не меняется.javascript style.width не работает в firefox с переходным doctype

this.container.style.visibility = "visible"; 
alert("this.container.style.width before = " + this.container.style.width) 
this.container.style.width = this.width; 
alert("this.container.style.width after = " + this.container.style.width); 
this.container.style.height = this.height; 

В IE, и в FF, без DOCTYPE, первое предупреждение говорит 0, а второй говорит 320 (который является ширину набора в другом месте в коде)

в FF, с DOCTYPE к XHTML/Transitional, оба предупреждения показывают 0. Любая идея, что здесь происходит? Я думаю, мне, возможно, потребуется явно установить позиции на DIV в Transitional, но я не уверен.

ответ

15

Вы пробовали настройки:

this.container.style.visibility = "visible"; 
alert("this.container.style.width before = " + this.container.style.width); 
this.container.style.width = this.width + 'px'; 
alert("this.container.style.width after = " + this.container.style.width); 
this.container.style.height = this.height + 'px'; 

//Note the 'px' above 

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

+1

yup! Вот так! Спасибо за помощь! – nerdabilly 2008-12-08 15:55:45

+0

никаких проблем, рад, что это помогло! – scunliffe 2008-12-08 18:52:13

0

Вы можете использовать:

document.getElementById("td").style.visibility="hidden"; 
document.getElementById("td").style.display="none"; 

вместо ширины собственности.

Это работает!

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