Hallo,
ich bin im Begriff ein Script aus dem Jahr 2001 zu aktualisieren. Sobald ich es mit Doctype strict (oder auch Transit.) ausstatte funktioniert es nicht mehr. Hier auch komplett zu finden: Dotmenu
Ich habe nun bei der Style-Definition im head die ersten drei Punkte ".dot", ".dotoff" und ".dotempty" bzgl. width und height um "px" ergänzt und den Doctype auf strict gesetzt. Ergebnis: Der Punkt landet oben links in der Ecke und das Menü funktioniert nicht mehr. Sobald die Doctype-Zeile gelöscht wird, geht es wieder wie es soll.
Die erste Problem-Hürde ist die sechste Funktion von oben: "function moveMe(name,x,y)" . Für x und y, bzw. parseInt(x) und parseInt(y) wird NaN zurückgegeben. Dito wenn Radix 10 dazugesetzt wird (was ohne Doctype richtig ist). Hier komme ich nicht weiter und wäre dankbar, wenn mir jemand an der Stelle weiterhelfen könnte. Ich habe auch testweise mal den div konkretisiert:
div { position:relative; left:500px; top:450px; width:1000px; height:800px; padding:0px; background-color:#FFFFE0; } ...
Dank und Gruß
Thomas
Hier der Problembereich:
function getObjectRef(name) {
if(document.getElementById) return document.getElementById(name);
else if(document.all) return document.all[name];
else return null;
}
function show(name) {
var el = getObjectRef(name);
if(el) el.style.visibility = "visible";
}
function hide(name) {
var el = getObjectRef(name);
if(el) el.style.visibility = "hidden";
}
function getWidth(name) {
var el = getObjectRef(name);
return el.offsetWidth;
}
function getHeight(name) {
var el = getObjectRef(name);
return el.offsetHeight;
}
function moveMe(name,x,y) {
var el = getObjectRef(name);
if(el) { el.style.top = parseInt(y); el.style.left = parseInt(x); }
}
function moveBy(name,x,y) {
var el = getObjectRef(name);
if(el) { el.style.top = parseInt(el.style.top) + parseInt(y); el.style.left = parseInt(el.style.left) + parseInt(x); }
}