If anyone is still encountering this problem, this fix worked for me and will probably work for you:
Make the following changes to dhtmllib.js:
In the function moveLayerTo, change the following lines...
Code:
layer.style.left = x;
layer.style.top = y;
to:
Code:
layer.style.left = x + "px";
layer.style.top = y + "px";
In the function moveLayerBy, change the following lines...
Code:
layer.style.left= parseInt(layer.style.left)+dx;
layer.style.top= parseInt(layer.style.top)+dy;
to:
Code:
layer.style.left= parseInt(layer.style.left)+dx+"px";
layer.style.top= parseInt(layer.style.top)+dy+"px";
And finally, in the function clipLayer, change the following line...
Code:
layer.style.clip = 'rect(' + cliptop + ' ' + clipright + ' ' + clipbottom + ' ' + clipleft +')';
to:
Code:
layer.style.clip = 'rect(' + cliptop + 'px,' + clipright + 'px,' + clipbottom + 'px,' + clipleft +')';
I think the basic idea is that when you specify an XHTML DOCTYPE, Firefox goes into 'standards mode' (as opposed to 'quirks mode') which expects properties to be defined using a strict syntax. This code is quite old, and so it specifies some values in what I'm guessing is now deprecated syntax, which Firefox ignores (causing strange behaviour). The above changes specify the relevant property values using the proper syntax. It seems to work fine for FF2, IE6 and IE7 (should work for FF3, not sure about older versions of IE or other browsers).
This may also be the problem with some of the other scripts you referred to, especially if they are old. I hope this helps someone.
Bookmarks