Excellent. Thanks for the tip. I was essentially doing this with the containing div (setting its style to a "hidden" style when hiding it and setting it back to its normal style when showing it) :
------
if (headerDivIsVisible == true)
{
headerDiv.className = "headerContainerDiv";
}
else
{
headerDiv.className = "hiddenDiv";
}
(where hiddenDiv is defined as :)
DIV.hiddenDiv
{
visibility: hidden;
display: none;
}
------
This worked fine for most of the divs in my application, but in the one instance, caused the non-repaint issue which prompted my original post.
Now I have updated the above code to just switch the display attribute on the current style (instead of swtiching the style itself) and it seems to have fixed the problem.
So now the above code looks like this :
------
if (headerDivIsVisible == true)
{
headerDiv.style.display = "block";
}
else
{
headerDiv.style.display = "none";
}
------
And everything works fine. So I guess the lesson I can take from this is to not switch the styles when trying to do this, but rather, just switch the display attribute value on the style.
Cool - thanks again for the tip.