javascript style.width not working in firefox with transitional doctype

28,785

Have you tried setting:

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

I find that trying to set a width/height of a number, without the units can cause issues.

Share:
28,785
nerdabilly
Author by

nerdabilly

Professional Flash developer at a large company that I'm sure you've heard of. Skilled in Flash, As2/AS3, Flex, and JavaScript.

Updated on July 19, 2022

Comments

  • nerdabilly
    nerdabilly almost 2 years

    I have a script that animates a small DIV popping up on the page. It all works fine in IE, and in FF if I remove the DOCTYPE, but when the DOCTYPE is XHTML/Transitional, in Firefox, the width does not change.

    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;
    

    In IE, and in FF with no DOCTYPE, the first alert says 0, and the second says 320 (which is the width set elsewhere in the code)

    in FF, with the DOCTYPE to XHTML/Transitional, both alerts show 0. Any idea what's going on here? I'm thinking I may need to explicitly set positions on the DIVs in Transitional, but I'm not sure.

  • nerdabilly
    nerdabilly about 11 years
    I can't really remember now since this was 4 years and 5 jobs ago, but I think the reason I didn't use this method is because I was animating the div appearing and it needed to start at 0 and move to 320. This is another good method for hiding elements though.