DOM in Netscape 6.0??

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/dom_in_netscape_6_0_105199/page_1 - zur Vollversion wechseln!


Bimminger schrieb am 25.01.2004 um 18:40

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.....


atrox schrieb am 26.01.2004 um 01:46

ich würde das uneinheitliche 'visbility' überhaupt nicht mehr verwenden, stattdessen 'display' = {block, none, inline,...}

top ist in IE und NS6/7 ident.


Rektal schrieb am 26.01.2004 um 11:56

'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 schrieb am 26.01.2004 um 22:42

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 schrieb am 27.01.2004 um 08:45

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 schrieb am 27.01.2004 um 13:00

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

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


Bimminger schrieb am 27.01.2004 um 19:25

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.


Rektal schrieb am 27.01.2004 um 19:37

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 :)


Bimminger schrieb am 27.01.2004 um 20:31

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.


Rektal schrieb am 28.01.2004 um 08:16

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.




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026