Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   JavaScript: onmouseover dynamisch mit IE (https://www.delphipraxis.net/40839-javascript-onmouseover-dynamisch-mit-ie.html)

yankee 21. Feb 2005 20:52


JavaScript: onmouseover dynamisch mit IE
 
Wir designen gerade unsere Schulhompage neu und ich schribe ein JavaScrip-Menü dafür.
Hier könnt ihr euch das mal ansehen:
www.dbg2-gl.de/newDbg/main.php
Wenn ihr Opera benutzt, werdet ihr euch wahrscheinlich wundern, was ich von euch will, den im Opera funzt alles ordnungsgemäß. Aber im IE läuft es nicht (geht es eigentlich im Mozilla?).
Meine Debugging-Versuche, dass ich glaube, das es an dieser Funktion liegt, die im onload ausgeführt wird:
Code:
function onload()
{
//---BEGIN: generieren der Menüeinträge---//
  var i=0,i2=0;
  for(i=0; i<=items.length-1;i++)
  {
    tbl =document.getElementById('tbl'+items[i][0]);
    var therow =tbl.insertRow(tbl.rows.length);
    if (!parseInt(items[i][2])) //wenn es um NICHT um einen Link in ein Untermenü geht
    {
      therow.onmouseover ="genLine("+items[i][0]+");";
// DEBUGGING: alert(therow.onmouseover);
      therow.insertCell(0).innerHTML =items[i][1].link(items[i][2]); //einfach den Link einfügen
    }
    else
    {
      therow.onmouseover ="genLine("+items[i][2]+");"; //ein onmouseover-event zum aufklappen des Untermenüs einfügen
// DEBUGGING: alert(therow.onmouseover);
      therow.insertCell(0).innerHTML =items[i][1]; //text einfügen
      document.getElementById(items[i][2]).style.top =65+tbl.rows.length*16+"px";
    }
  }
//---ENDE: generiren der Menüeinträge---//
  document.getElementById('0').style.width =breite[0]+"px"; //breite des obersten menüs festlegen
}
der entscheidene Teil liegt in dieser Zeile:
therow.onmouseover ="genLine("+items[i][0]+");";
bzw. dem entsprechenden Fall im else-Fall.
bloß die Funktion genLine wird nie aufgerufen. wenn ich diesen alert verwende, vor dem oben DEBUGGING steht, dann wird auch der korrekte Funktionsaufruf ausgegeben. Eine alertbox, die ich in der Funktion genLine platziert habe, erschien jedoch nie.
(Das sind so meine Ideen, ich weiß nicht, ob ich nicht möglicherweise völlig falsch liege...)
Was mache ich falsch?

EDIT:
1. Im IE ist auch die Hintergrundfarbe falsch. Normalerweise ist das menü heller, als das ganze drumrum und dunkler als der Teil in der Mitte.
2. Wenn jemand für diese Zeile:
document.getElementById(items[i][2]).style.top =65+tbl.rows.length*16+"px";
noch eine bessere Lösung hat (soll die Höhe des divs eine Untermenüs errechnen, wäre ich auch dankbar. weil so ganz kommt die Berechnung nicht hin udn es Variert auch ein wenig von Computer zu Computer und Browser zu Browser...

[edit=sakura] [Klammern entfernt] Mfg, sakura[/edit]

SubData 21. Feb 2005 21:21

Re: [JavaScript]: onmouseover dynamisch mit IE
 
Im Opera sieht das ganze Menü total verzogen aus und die Punkte sitzen nich im farbigen Bereich...

yankee 21. Feb 2005 21:28

Re: [JavaScript]: onmouseover dynamisch mit IE
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von SubData
Im Opera sieht das ganze Menü total verzogen aus und die Punkte sitzen nich im farbigen Bereich...

naja, ok, das Menü ist nur 100px hoch (muss ich mal größer Stellen). Aber das hört sich ja schlimm an. Mal ein Screenshot, wie es bei mir aussieht im Anhang

phXql 21. Feb 2005 21:30

Re: [JavaScript]: onmouseover dynamisch mit IE
 
bei mir fehlt das menu gänzlich. Hab FireFox...

Ausserdem soll man Tabellen nicht fürs Layout nehmen. Is dann nichmehr barrierefrei. Nimm lieber layer, die bringen die screenreader nich so durcheinander.

SubData 21. Feb 2005 21:44

Re: [JavaScript]: onmouseover dynamisch mit IE
 
Oh.. Hab mal die Seite neu geladen, nu siehts bei mir auch so aus.
War wohl n Darstellungsfehler ;>

yankee 22. Feb 2005 05:29

Re: [JavaScript]: onmouseover dynamisch mit IE
 
Zitat:

Zitat von phXql
bei mir fehlt das menu gänzlich. Hab FireFox...

Ausserdem soll man Tabellen nicht fürs Layout nehmen. Is dann nichmehr barrierefrei. Nimm lieber layer, die bringen die screenreader nich so durcheinander.

Ja, ich hatte auch liber divs genommen. Aber ich schreibe die Seite eben nicht alleine und konnte mich nicht gegen den Rest des teams durchsetzen.
Allerdings wollte ich zu divs greifen. Layer kenne ich nicht. Ist das nur ne andere Bezeichnung für divs, oder ist das wirklich was neues?

Zitat:

Zitat von SubData
Oh.. Hab mal die Seite neu geladen, nu siehts bei mir auch so aus.
War wohl n Darstellungsfehler ;>

Ja, ist ganz komisch. Bei mir passiert es hin und wieder auch mal, dass die Seite total verzogen aussieht. Mit einem Klick auf aktualisieren ist dann aber wieder alles im Lot. Den Bug gab's allerdings schon bevor ich mein menü in die Seite eingebunden habe...
Keiner weiß, woran es liegt (bug in opera? oder Fehler in der Seite?)

alcaeus 22. Feb 2005 06:33

Re: [JavaScript]: onmouseover dynamisch mit IE
 
Zitat:

Zitat von phXql
Ausserdem soll man Tabellen nicht fürs Layout nehmen. Is dann nichmehr barrierefrei. Nimm lieber layer, die bringen die screenreader nich so durcheinander.

Guckst du hier: http://de.selfhtml.org/css/eigenscha...m#speak_header ;)

Außerdem wird ein Menü, welches ein-/ausgeblendet wird, fast immer für Probleme sorgen, es sei denn der Screenreader bekommt auch solche Änderungen mit.

Greetz
alcaeus

yankee 22. Feb 2005 13:15

Re: [JavaScript]: onmouseover dynamisch mit IE
 
Zitat:

Zitat von alcaeus
Guckst du hier: http://de.selfhtml.org/css/eigenscha...m#speak_header ;)

Außerdem wird ein Menü, welches ein-/ausgeblendet wird, fast immer für Probleme sorgen, es sei denn der Screenreader bekommt auch solche Änderungen mit.
alcaeus

Interessanter Link. Hat nur mit meinem Pronlm nichts zu tun.
Meine eigenen Seiten sind auch alle ohne JavaScript-Menü. Aber ich bin eben nicht alleinig für das Design verantwortlich. Bzw. ich habe mit dem Design GARNICHTS am Hut. Ich bin nur DB-Designer, PHP- und JavaScript-Entwickler.
Also bitte versucht nicht mich von diesem Menü grundsätzlich abzubringen, sondern versucht doch mal herauszufinden, warum mein Skript im IE nicht funzt...

alcaeus 22. Feb 2005 13:21

Re: [JavaScript]: onmouseover dynamisch mit IE
 
Hallo yankee,

der Link war nicht an dich gerichtet, sondern an phXql. Ich versuche dich nicht vom Menü abzubringen, genausowenig wie von der Tabellensache ;)
Was ich auf den ersten Blick nicht erkennen kann: passen die Funktionsnamen haargenau (JS ist case-sensitiv)?

Greetz
alcaeus

phXql 22. Feb 2005 18:32

Re: [JavaScript]: onmouseover dynamisch mit IE
 
Zitat:

Zitat von alcaeus
Hallo yankee,

der Link war nicht an dich gerichtet, sondern an phXql. Ich versuche dich nicht vom Menü abzubringen, genausowenig wie von der Tabellensache ;)
Was ich auf den ersten Blick nicht erkennen kann: passen die Funktionsnamen haargenau (JS ist case-sensitiv)?

Greetz
alcaeus

hmm speak tables kannte ich noch nich. allerdings schreibt dir die anforderung des BIENE-Awards vor, keine Tables mehr zur strukturierung zu verwenden. Btw, DIV is das selber wie ein layer :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:56 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz