+ Antworten
Seite 2 von 6 ErsteErste 1 2 3 4 5 ... LetzteLetzte
Ergebnis 16 bis 30 von 84

Thema: Pulldown-Menü Deluxe (JS/DOM)

  1. #16
    seb
    seb ist offline
    TP-Veteran seb bringt sich richtig ein seb bringt sich richtig ein
    Registriert seit
    Jan 2002
    Beiträge
    1.741
    Mit PHP hat das Menü nix zu tun. Das ist reines Javascript, du kannst es auf jeder HTML-Seite einbinden, wie beschrieben.

  2. #17
    TP-Junior miguelangel macht alles soweit korrekt
    Registriert seit
    Jan 2003
    Ort
    Deutschland
    Beiträge
    6

    Question Menü auch vertikal möglich?

    Hallo Seb,
    OK, alles klar. Wie kann ich den Code anpassen, damit ich das Menü als vertikale Navigation auf der linken Seite einbauen kann? - Was muss ich ändern?

  3. #18
    seb
    seb ist offline
    TP-Veteran seb bringt sich richtig ein seb bringt sich richtig ein
    Registriert seit
    Jan 2002
    Beiträge
    1.741
    Am Code des Menü-Scripts garnichts.

    Werf mal nen Blick ins HTML der Demo-Seite, dort siehst du, wie das Menü per JS-Link oder event-Handler (onmouseover etc.) geöffnet wird.

    Du baust einfach deine vertikale Navigation mit den Links für die Hauptmenüpunkte und lässt diese das entsprechende Menü öffnen. 'this.offsetTop' und 'this.offsetLeft' im Beispiel sind dabei die Koordinaten des Links selbst.

  4. #19
    TP-Junior miguelangel macht alles soweit korrekt
    Registriert seit
    Jan 2003
    Ort
    Deutschland
    Beiträge
    6

    Wink

    Prima, hab ich schon gemacht. Ist echt klasse, dein Menü. Hatte zuvor die Sache mit mm_menu.js von DWMX aufgezogen; das js hat fast 800 Zeilen Code!
    Da wurde bei den Usern Unmut laut, wg. Ladezeit.
    - Lass dich doch anheuern von MM!
    Was mir aufgefallen ist: Manchmal bleibt der Layer eingeblendet, obwohl ich mit der Maus schon irgendwo ganz anders auf der Seite bin. Hab mal die Einblendezeit reduziert; aber das hilft nicht wirklich (MSIE 5.5.). Außerdem: bei target - Angaben muss man auch etwas rumprobieren ('top' geht, nicht aber '_top'; '_blank' geht; nicht aber 'blank')...
    Danke + Gruß, miguelangel

  5. #20
    seb
    seb ist offline
    TP-Veteran seb bringt sich richtig ein seb bringt sich richtig ein
    Registriert seit
    Jan 2002
    Beiträge
    1.741
    Hatte zuvor die Sache mit mm_menu.js von DWMX aufgezogen; das js hat fast 800 Zeilen Code!
    Das kommt halt dabei raus, wenn eine Maschine heutzutage versucht, sich selbst zu programmieren.

    Es wird noch ne Weile dauern, bis sie das genausogut oder besser können werden als Menschen...probiers dann nochmal mit Dreamweaver 2020 .

    Manchmal bleibt der Layer eingeblendet, obwohl ich mit der Maus schon irgendwo ganz anders auf der Seite bin.
    Ich weiß - der 'Auto-Close-Mechanismus' wird manchmal nicht ausgelöst oder lahmgelegt. Ich weiß nicht genau, woran das liegt, aber ich denk es ist vernachlässigbar.

    Also Target-Namen sollten eigentlich alle gültigen Framenamen + '_blank' (kein Framename, als Ausnahme dazugecodet) funktionieren.

  6. #21
    TP-Junior joewest macht alles soweit korrekt
    Registriert seit
    Aug 2003
    Ort
    Schleswig Holstein
    Beiträge
    11
    probier auch grad mal den script aus, und hab nun eine denkblokade:

    es muß das möglich sein in einem frameset

    (<!-- frames -->
    <frameset rows="140,*,120" noresize frameborder="0" framespacing="0">
    <frame name="menu" src="menu.html" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" noresize>
    <frame name="mitte" src="mitte.html" marginwidth="0" marginheight="0" scrolling="auto" frameborder="0" noresize>
    <frame name="start" src="start.html" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" noresize>
    </frameset>)


    in dem das menu in menu.html erscheinen soll, aber die "aufklappmenus" in mitte.html angezeigt werden.

    bei dem aufruf der menüpunkte (z.B pdm_main_kasse.add_item('urls/kasse.html', 'Verkauf', 'web_file.gif', 'parent.mitte') gebe ich ja nur den target des links an.

    dachte das ich bei dem aufruf (z.B <a href="#" onmouseover="pdm_main_kasse.show(this.offsetLeft, this.offsetTop + 19);">Kasse</a> |) ein target mit angebe.

    irgendwie bekomme ich das aber nicht hin.

    wer kann mir da ein wenig auf die sprünge helfen?

  7. #22
    seb
    seb ist offline
    TP-Veteran seb bringt sich richtig ein seb bringt sich richtig ein
    Registriert seit
    Jan 2002
    Beiträge
    1.741
    Menü-Anzeige-Link und Menü selbst in verschiedenen Frames hab ich noch nicht ausprobiert, aber es müsste eigentlich funktionieren.

    Sämtliches Javascript für das Menü (Code einbinden, Menüobjekte instanzieren) gehört dann natürlich in den Frame, in dem die Menüs erscheinen sollen.

    Die Links im anderen Frame rufen die Menüs dann über parent.framename.menuname.show(x,y) auf.

    Für die Koordination kannst Du dann natürlich nicht die Position des Öffnen-Links verwenden (this.offsetTop etc.), da die im anderen Frame eine andere Stelle bedeuten. Musst halt mit absoluten Zahlenangaben rumprobiern, bis es passt.

  8. #23
    TP-Junior joewest macht alles soweit korrekt
    Registriert seit
    Aug 2003
    Ort
    Schleswig Holstein
    Beiträge
    11
    super, danke hat geklappt. unter ie nimmt er sogar die postitionen so richtig.

    Geändert von joewest (27.08.2003 um 14:57 Uhr)

  9. #24
    seb
    seb ist offline
    TP-Veteran seb bringt sich richtig ein seb bringt sich richtig ein
    Registriert seit
    Jan 2002
    Beiträge
    1.741
    Neues Release - jetzt noch kompakter!

    Ich hab den Programmcode des Menüs nochmals rationalisiert.
    Bei der neuen Version werden keine CSS-Eigenschaften mehr per JS durch das Script definiert - abgesehen von den absolut betriebsnotwendigen.

    Dies bedeutet eine Vereinfachung des Scripts um einige Zeilen sowie die Möglichkeit, das Design der Menüs direkt per CSS und ohne eine einzige Zeile Javascript anzupassen.

    Auserdem wurde ein weiterer kleiner Fehler behoben, der - ebenso wie der letzte bekannte Bug davor - in bestimmten Situationen dazu geführt hatte, dass ein Menü bei Verlassen des Panels mit dem Mauszeiger nicht mehr geschlossen wurde.

    Die neue Version findet ihr sowohl im Anhang dieses Beitrags als auch im ersten Beitrag des Threads.

    Anbei noch ein Beispiel zur CSS-Formatierung des Menüs:

    PHP-Code:
    div.pdm_panel
    {
        
    background-color:#fff;
        
    border:1px solid #888;
        
    cursor:default;
        
    font:11px verdana;
        -
    moz-opacity:0.9;
    }

    div.pdm_panel td.pdm_col_caption
    {
        
    padding:3px;
    }

    tr.pdm_item
    {
        
    background-color:transparent;
        
    color:#000;
    }

    tr.pdm_item_hover
    {
        
    background-color:#058;
        
    color:#fff;
    }


    div.pdm_panel td.pdm_col_icon
    {
        
    display:none;
    }

    #menu1
    {
        
    background-color:#4be;
    }

    #menu2
    {
        
    background-color:#6b6;
    }


    #menu2 tr.pdm_item_hover
    {
        
    background-color:#272;

    Angehängte Dateien

  10. #25
    TP-Veteran holunda macht alles soweit korrekt Avatar von holunda
    Registriert seit
    Oct 2001
    Ort
    Oberau
    Beiträge
    1.867
    Bin mir nicht sicher ob Bug oder unvermeidbar:

    Wenn das Menü auklappt und es überlappt eine select box dann wir verschwindet das Menü hinter der combo box.

    Kann man dagegen was tun oder ist das eine div Eigenart?

  11. #26
    seb
    seb ist offline
    TP-Veteran seb bringt sich richtig ein seb bringt sich richtig ein
    Registriert seit
    Jan 2002
    Beiträge
    1.741
    Keine DIV-, wohl aber eine Internet Explorer-Eigenart - Mozilla und Opera haben dieses Problem nicht.

    Der Grund liegt darin, dass der Internet Explorer für die Darstellung seiner Formularelemente auf die Windows-API zurückgreift, die diese Elemente (Buttons, Listboxen, Textfelder etc.) schon fix und fertig bereitstellt (genau wie die allermeisten anderen Windows-Anwendungen auch).

    Diese API zeichnet die Formularelemente allerdings standardmäßig über die HTML-Zeichenfläche, ohne Berücksichtigung des z-Index in HTML/CSS.

    Das gilt nicht mehr für alle Formularelemente - mit Buttons und Texteingabefeldern gibt's keine Probleme mehr, der Rest ist daher wohl schlicht auf Faulheit der IE-Programmierer zurückzuführen .

    Das ist übrigens auch der Grund dafür, warum man manche Formularelemente immer noch nicht beliebig per CSS stylen kann - der Browser hat keine Möglichkeit, über die Windows-API das Aussehen der Formularelemente zu verändern.

    Die anderen Browser wie Mozilla und Opera bringen ihre Formularelemente selbst. Sie sind direkt im Browser einprogrammiert, unter Berücksichtigung der besonderen Anforderungen von HTML und CSS. Dadurch gibts dort keine Überlappungsprobleme und man kann auch Radiobuttons und Check- und Listboxen per CSS anpassen.

  12. #27
    TP-Veteran holunda macht alles soweit korrekt Avatar von holunda
    Registriert seit
    Oct 2001
    Ort
    Oberau
    Beiträge
    1.867
    dacht ichs mir doch dass es irgendwas mit der Faulheit der IE'ler zu tun hat

    noch ein Bug? (Dirty darstellung der items im Moz 1.4.)

    alex
    Angehängte Grafiken  

  13. #28
    seb
    seb ist offline
    TP-Veteran seb bringt sich richtig ein seb bringt sich richtig ein
    Registriert seit
    Jan 2002
    Beiträge
    1.741
    Ein Bug in Mozilla. Das kommt durch die Transparenz (CSS -moz-opacity), wenn du die abschaltest, ist es weg.

  14. #29
    TP-Senior Emily537 macht alles soweit korrekt
    Registriert seit
    Apr 2002
    Ort
    Saarbrücken
    Beiträge
    101

    Lightbulb Link in neuem Fenster öffnen

    Hallo seb,

    finde Dein Menü super, habe es gleich testen müssen, und bin begeistert - habe nur ein Problem, wie gebe ich an, das ein Link in einem neuen Fenster geöffnet werden soll?

    Emily


    Es hat sich erledigt, habe false vergessen...
    Geändert von Emily537 (08.10.2003 um 15:02 Uhr)

  15. #30
    TP-Newbie arovo macht alles soweit korrekt
    Registriert seit
    Dec 2003
    Ort
    Österreich
    Beiträge
    4

    Menü im anderen frame

    Hallo seb,

    habe dein menü in eine frame Seite eingebaut, aber habe noch ein problem beim scrollen.

    wenn ich als anzeigepunkt document.body.scrollTop eingebe,
    funktioniert das ganze ganz gut, bis darauf, dass die menüs mitgescrollt werden.

    <a href="index.htm" target="_top" onmouseover="parent.main.pdm_main_angebote.show(this.offsetLeft, document.body.scrollTop -1);"><font color="#ffffff">Angebote</a> |

    der Hauptframe heißt main.
    die navigation ist im frame nav.

    wenn ich nun versuche den scroll-zustand von main.document.body.scrollTop abzufragen, bekomme ich immer einen Fehler und keine ANzeige.

    <a href="index.htm" target="_top" onmouseover="parent.main.pdm_main_angebote.show(this.offsetLeft, main.document.body.scrollTop -1);"><font color="#ffffff">Angebote</a> |

    wo habe ich hier den denkfehler Fehler?

    Danke!

+ Antworten
Seite 2 von 6 ErsteErste 1 2 3 4 5 ... LetzteLetzte

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51