"We are back" « oc.at

DOM in Netscape 6.0??

Bimminger 25.01.2004 - 18:40 573 9
Posts

Bimminger

christoph-bimminger.at
Avatar
Registered: Nov 2001
Location: Linz
Posts: 684
wieso können si net alle auf a einheitliches DOM einigen?? *g*
//obj is das element in allen beispielen - das krieg i scho richtig

also i hab jetzt Code f. M$ 6.0
obj.style.top = Ypos;
obj.style.visibility = "visible";



und für Opera
obj.style.pixelTop = Ypos;
obj.style.visibility = "visible";


nur der Netscape (6.0) macht nu nix... wie muss es da lauten?
Ein Ansatz wär über
obj.style.visibility = "show";

das dürft gehn, aba das positionieren macht er nu net.....

naja, über layer brauch is gar net probiern, im selfhtml steht dass NS6 keine Layer mehr unterstützt.....
Bearbeitet von Bimminger am 25.01.2004, 18:41 (vertipselt....)

atrox

in fairy dust... I trust!
Avatar
Registered: Sep 2002
Location: HTTP/1.1 404
Posts: 2782
ich würde das uneinheitliche 'visbility' überhaupt nicht mehr verwenden, stattdessen 'display' = {block, none, inline,...}

top ist in IE und NS6/7 ident.

Rektal

Here to stay
Registered: Dec 2002
Location: Inside
Posts: 4477
'layer' ist fuer die heutigen browser nicht anderes als "absolute positionierte elemente", spricht z.B. <div id="meinDiv" style="position: absolute; top: 30px; left: 40px;">content</div> und wenn du per JS dann die top/left Attribute aenderst, hast du DHTML:
Code:
document.getElementById('meinDiv').style.top = '100px';

Bimminger

christoph-bimminger.at
Avatar
Registered: Nov 2001
Location: Linz
Posts: 684
wenn dom in msie und ns gleich interpretiert wird.. wieso funkt dann der code nicht???


function ShowMenu(id)
{
HideAllMenu();

var obj=getElem("id",id,null);

window.alert("ShowMenu()");


if(DOM) {
if(MS) {
obj.style.top = Ypos;
obj.style.left = Xpos;
window.alert("DOM - MS");
}
else {
obj.style.top = Ypos; //hier kommt er rein, machts aber nicht wie er soll - i seh nix....
obj.style.left = Xpos;
window.alert("DOM - nicht-MS");
}

}
if(DOM || MS) {
if (!DOM) obj.style.top = Ypos;
if (!DOM) obj.style.left = Xpos;

if (OP) obj.style.pixelTop = Ypos;
if (OP) obj.style.pixelLeft = Xpos;

if (!NS)
obj.style.visibility = "visible";
else
obj.style.visibility = "show";
window.alert("DOM oder MS");
}
else if(NS) {
obj.top = Ypos;
obj.left = Xpos;
obj.visibility = "show";
window.alert("NS");
}
else
{
window.alert("kein DOM, kein NS");
}

IgnoreNextHide=true;
}



id ist die id eines <div> objekts mit ner tabelle drin.... beim NS 6.0 gilt (durch die SelfHtml dhtml.js file)

DOM=true
MS=false

mit MS und OPERA läufts - nicht mit NS *HELP*

Rektal

Here to stay
Registered: Dec 2002
Location: Inside
Posts: 4477
Welche Werte sind Xpos und Ypos genau? Ist es "100" oder "100px" ? Es muss letzteres sein, kann es daran liegen?

Wenn du eine URL pastest kann ichs analysieren.

atrox

in fairy dust... I trust!
Avatar
Registered: Sep 2002
Location: HTTP/1.1 404
Posts: 2782
Zitat
var obj=getElem("id",id,null);
:( :(

siehe http://www.w3.org/TR/2000/REC-DOM-L...tml#ID-getElBId

Bimminger

christoph-bimminger.at
Avatar
Registered: Nov 2001
Location: Linz
Posts: 684
SHIT - posting weg weils forum kan zip upload erlaubt...

@atrox - hab diese variante gewählt weils selfhtml empfiehlt (begründung: dom nicht einheitlich implementiert)

@rektal... wär super wennst drüberschaust - koordinaten sind in pixel, aba i denk nur als zahl gspeichert... also kein "px" in der variable enthalten.

is a cgi output - hab da aba einen fall als html abgelegt und die notwendigen anderen files dazugeben (bilder, css, js)

ich hoff mit diesem posting gegen keine oc.at forumregel zu verstoßen, aba i muss in dem fall a (mini-)zipfile raufladen. is gesperrt, daher endung .zip.txt - bitte in .zip umbenennen :rolleyes:

der code san eh "nur" 730+ lines :D -> wird volldynamisch generiert und is in zukunft über a cms (derzeit über ne csv-datei) voll konfigurierbar....

as said, MSIE und OPERA worxx, NS streikt.
demo_zip_47462.txt (downloaded 25x)
Bearbeitet von Bimminger am 27.01.2004, 19:27 (jpg inhaltsprüfung ;-) -> txt geht - wird binary übertragen.....)

Rektal

Here to stay
Registered: Dec 2002
Location: Inside
Posts: 4477
Ok, ahm, keine Zeit da jetzt genauer reinzuschauen, aber atrox hats eh schon gesagt: nimm document.getElementById und vergiss den rest; dann klappts. Und gehe sicher das du "100px" o.ae. zuweist; zuweisungen ohne Einheiten widerspricht dem CSS-Standard.

Wenns noch immer net geht, dann teste mit alert() aufrufen _wo_ genau es nicht geht; ausserdem schau mittels der Tools/Web Development/Javascript Console nach wo es die Probleme gibt.

So lernt man am besten ;)

//edit
Ich habs kurz im Browser angetestet. Kann nur sagen, vergiss dieses DHTML Script, von wo immer du das herkopiert hast; das is purer schrott wie du ja selber siehst. Nimm was anderes oder machs von grund auf selber. Das Teil ist unsauber geschrieben und bringt nur Aerger. HTH :)
Bearbeitet von Rektal am 27.01.2004, 19:48

Bimminger

christoph-bimminger.at
Avatar
Registered: Nov 2001
Location: Linz
Posts: 684
ok werd das mal als ansatz nehmen.. wobei ich selfhtml / stefan münz bisher noch nicht angezweifelt hab ;-)

vielleicht hilfts ja, rückmeldung kommt garantiert.

------------------------------------------------------------

40 min later:

JUP es funktioniert! -> es war einerseits das px, anderseits das visibility und drittens das abfragen der aktuellen koordinaten. hab jetzt im selfhtml forumsarchiv dazu auch noch was gfunden. die dhtml.js funktioniert also, werds aba bald austauschen.....

-> hab jetzt 4 verschiedene mousemove handler :rolleyes: aba mi freuts heut nimma das skript umzuschreibn - bin bei copy&paste blieben.
Bearbeitet von Bimminger am 27.01.2004, 21:13

Rektal

Here to stay
Registered: Dec 2002
Location: Inside
Posts: 4477
mousemove-Handler sind auch ziemliche Resourcenfressern. Ich versteh nicht warums ein onmouseover/onmouseout nicht tut. Ich mein, ich bin davon ausgegangen du willst feststellen wenn du mit der Maus ueber einem Element bist, damit du z.B. ein Submenu einblendet (solltest das nicht der Fall sein dann wurscht, wirds eh passen).

Und: selfhtm in Ehren, aber es ist einfach alt und kann beiweitem nicht mit dem mithalten was aktuelle Browser koennen.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz