An die HTML- und Javascript-Freaks:

Dieses Thema im Forum "Software" wurde erstellt von bsek, 17. Oktober 2003.

  1. bsek

    bsek New Member

    Liebe Leute,

    ich benötige Eure Hilfe bei einem Webprojekt.

    Die Seiten sind beinahe fertig, es gibt aber nur noch ein kleines Problem mit dem Menü, was ich mir nicht erklären kann ...

    Hier ein paar Infos:

    Bei den Menüs handelt es sich um klassische "Navigationsbars" von Dreamweaver (verschiedene Ebene).

    Die Seite ist aus mehreren Frames aufgebaut. Wenn aus dem Menü oder ggf. aus dem Untermenü eine neue Rubrik aufgerufen wird, ändert sich (mit einem kleinen script gesteuert) der Inhalt gleich mehrerer Frames.

    Damit das Menu bzw. Untermenü auch immer die richtige Rubrik hervorhebt (auch wenn der Inhalt mal nicht über das Menu sondern die Sitemap angesteuert wurde), wird das Erscheinungsbild des Menues von der jeweiligen Contenseite "ferngesteuert" (wieder mit einem kleinen script)

    Soweitsogut. Nun zu meinem Problemchen:
    Wenn ich jetzt mit hilfe des Menüs navigiere, verschwindet beim Klicken auf einen neuen Menüpunkt automatisch der zuvor ausgewälte. Anstelle der Grafik für unaktivierte Rubriken bleibt die stelle einfach empty.

    Ist alles bissl unverständlich erklärt. das beste Ihr schaut es Euch selber mal an:
    http://www.kukm.de/new/

    Hat jemand ne Ahnung, woran das liegen könnte?

    Gerne sende/poste ich Euch auf wunsch quellcode bzw. die verwendeten scripts.

    Freue mich über jeden Hinweis ...

    Danke im voraus.
    b.s.e.k
     
  2. bsek

    bsek New Member

    *hochschieb*
     
  3. bsek

    bsek New Member

    Menuscript (wie von Dreamweaver generiert):
    <script language="JavaScript" type="text/JavaScript">

    <!--


    function MM_preloadImages() { //v3.0
    var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a.indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a;}}
    }

    function MM_findObj(n, d) { //v4.01
    var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
    if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[n];
    for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers.document);
    if(!x && d.getElementById) x=d.getElementById(n); return x;
    }

    function MM_nbGroup(event, grpName) { //v6.0
    var i,img,nbArr,args=MM_nbGroup.arguments;
    if (event == "init" && args.length > 2) {
    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
    img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
    if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
    nbArr[nbArr.length] = img;
    for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args)) != null) {
    if (!img.MM_up) img.MM_up = img.src;
    img.src = img.MM_dn = args[i+1];
    nbArr[nbArr.length] = img;
    } }
    } else if (event == "over") {
    document.MM_nbOver = nbArr = new Array();
    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args)) != null) {
    if (!img.MM_up) img.MM_up = img.src;
    img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])? args[i+1] : img.MM_up);
    nbArr[nbArr.length] = img;
    }
    } else if (event == "out" ) {
    for (i=0; i < document.MM_nbOver.length; i++) {
    img = document.MM_nbOver; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
    } else if (event == "down") {
    nbArr = document[grpName];
    if (nbArr)
    for (i=0; i < nbArr.length; i++) { img=nbArr; img.src = img.MM_up; img.MM_dn = 0; }
    document[grpName] = nbArr = new Array();
    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args)) != null) {
    if (!img.MM_up) img.MM_up = img.src;
    img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
    nbArr[nbArr.length] = img;
    } }
    }

    function MM_swapImgRestore() { //v3.0
    var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a)&&x.oSrc;i++) x.src=x.oSrc;
    }

    function MM_swapImage() { //v3.0
    var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
    if ((x=MM_findObj(a))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
    }
    //-->
    </script>

    Ferngesteuert wird das Menu dann mit hilfe eines Blind-gifs, welches ein onload-anweisung enthält, welche wiederum auf das oben genannte script im menu zugreift:

    [​IMG][​IMG]

    Falls noch interessiert (das script zum gleichzeitigen laden mehrerer Frames):

    <SCRIPT LANGUAGE="JavaScript">

    <!-- Begin
    function loadFrames(frame1,page1,frame2,page2,frame3,page3,frame4,page4,frame5,page5) {
    eval("parent."+frame1+".location='"+page1+"'");
    eval("parent."+frame2+".location='"+page2+"'");
    eval("parent."+frame3+".location='"+page3+"'");
    eval("parent."+frame4+".location='"+page4+"'");
    eval("parent."+frame5+".location='"+page5+"'");
    }
    // End -->

    </script>

    Hilft das weiter? Weil hier wahrscheinlich schwierig zu lesen sende ich's Dir nochmal als Mail.

    Danke im voraus
     
  4. PIZZA

    PIZZA New Member

    Hallo,
    also ersmal finde ich die Site schön gemacht, kompliment!!! Das Script muß ich mir mal in ruhe durchlesen, kenne mich mit dreamweaver nicht so doll aus. Arbeite mit GoLive, aber script ist ja nun script. Wenn also noch ein wenig geduld da ist, bekommt man das Problem geregelt.

    Gruß Pizza

    PS: Bist du der macher der Seiten? Oder die Agentur??
     
  5. bsek

    bsek New Member

    danke für das kompliment. ich bin der macher der seite und arbeite für einen kleinen verlag, der wiederum der Veranstaltungsangentur angeschlossen ist.

    Wäre super, wenn Du Dir das mal anschauen könntest.
     
  6. PIZZA

    PIZZA New Member

    werde mir das mal in ruhe einverleiben, das kann ich aber nicht sofort, muß ja auch noch arbeiten:-( Wann soll die seite den On gehen? Mit anderen Worten wieviel druck hast du? Auf den ersten schnellen blick hat das glaube ich nichts mit dem Script zu tun. In welchen Browser testet du die Seiten????
     
  7. bsek

    bsek New Member

    getestet wird das ganze zur zeit ausschliesslich im IE. Lief bisher offline und das ohne probleme bei uns im firmeneigenen intranet. seit gestern in dieser version als beta unter angegebener adresse draussen.

    Druck ist natürlich immer da. muss heute noch ein paar kleine inhaltliche änderungen einarbeiten. wenn ich cheffe sagen kann, dass wir am montag damit an den start können, wäre er wohl ganz zufrieden.

    also was macht Deine Wochenendplanung? :D
     
  8. PIZZA

    PIZZA New Member

    ja ja mein wochenende wieder in Arsch:) Aber ich werde mich auf alle fälle melden. Nur forsche bitte weiter und verlass dich nicht darauf das nur ich das Problem lösen kann. Ich gebe mein bestes...
     
  9. bsek

    bsek New Member

    *hochschieb*
     
  10. bsek

    bsek New Member

    *hochschieb*
     
  11. mats

    mats New Member

    Hi bsek!

    Ich habe mir das auch mal angeschaut, aber ich kann nicht nachvollziehen, was nicht funktionieren soll. Bei mir scheint alles zu klappen (iCab, Safari und Firebird); jedenfalls gibt's keine fehlenden Bilder...

    Oder schau ich am falschen Ort?
     
  12. alf

    alf New Member

    Mit Mozilla funktioniert auch alles.
     
  13. bsek

    bsek New Member

    beim IE (unter -ja ich geb es ja zu- Windoof 2000) gibt es Probleme.

    Hier hab ich einen screenshot. die entsprechenden Fehler im Menu habe ich gekennzeichnet.

    http://www.foratio.de/menu.jpg
     
  14. bsek

    bsek New Member

    *hochschieb*
     
  15. bsek

    bsek New Member

    Liebe Leute,

    ich benötige Eure Hilfe bei einem Webprojekt.

    Die Seiten sind beinahe fertig, es gibt aber nur noch ein kleines Problem mit dem Menü, was ich mir nicht erklären kann ...

    Hier ein paar Infos:

    Bei den Menüs handelt es sich um klassische "Navigationsbars" von Dreamweaver (verschiedene Ebene).

    Die Seite ist aus mehreren Frames aufgebaut. Wenn aus dem Menü oder ggf. aus dem Untermenü eine neue Rubrik aufgerufen wird, ändert sich (mit einem kleinen script gesteuert) der Inhalt gleich mehrerer Frames.

    Damit das Menu bzw. Untermenü auch immer die richtige Rubrik hervorhebt (auch wenn der Inhalt mal nicht über das Menu sondern die Sitemap angesteuert wurde), wird das Erscheinungsbild des Menues von der jeweiligen Contenseite "ferngesteuert" (wieder mit einem kleinen script)

    Soweitsogut. Nun zu meinem Problemchen:
    Wenn ich jetzt mit hilfe des Menüs navigiere, verschwindet beim Klicken auf einen neuen Menüpunkt automatisch der zuvor ausgewälte. Anstelle der Grafik für unaktivierte Rubriken bleibt die stelle einfach empty.

    Ist alles bissl unverständlich erklärt. das beste Ihr schaut es Euch selber mal an:
    http://www.kukm.de/new/

    Hat jemand ne Ahnung, woran das liegen könnte?

    Gerne sende/poste ich Euch auf wunsch quellcode bzw. die verwendeten scripts.

    Freue mich über jeden Hinweis ...

    Danke im voraus.
    b.s.e.k
     
  16. bsek

    bsek New Member

    *hochschieb*
     
  17. bsek

    bsek New Member

    Menuscript (wie von Dreamweaver generiert):
    <script language="JavaScript" type="text/JavaScript">

    <!--


    function MM_preloadImages() { //v3.0
    var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a.indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a;}}
    }

    function MM_findObj(n, d) { //v4.01
    var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
    if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[n];
    for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers.document);
    if(!x && d.getElementById) x=d.getElementById(n); return x;
    }

    function MM_nbGroup(event, grpName) { //v6.0
    var i,img,nbArr,args=MM_nbGroup.arguments;
    if (event == "init" && args.length > 2) {
    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
    img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
    if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
    nbArr[nbArr.length] = img;
    for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args)) != null) {
    if (!img.MM_up) img.MM_up = img.src;
    img.src = img.MM_dn = args[i+1];
    nbArr[nbArr.length] = img;
    } }
    } else if (event == "over") {
    document.MM_nbOver = nbArr = new Array();
    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args)) != null) {
    if (!img.MM_up) img.MM_up = img.src;
    img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])? args[i+1] : img.MM_up);
    nbArr[nbArr.length] = img;
    }
    } else if (event == "out" ) {
    for (i=0; i < document.MM_nbOver.length; i++) {
    img = document.MM_nbOver; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
    } else if (event == "down") {
    nbArr = document[grpName];
    if (nbArr)
    for (i=0; i < nbArr.length; i++) { img=nbArr; img.src = img.MM_up; img.MM_dn = 0; }
    document[grpName] = nbArr = new Array();
    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args)) != null) {
    if (!img.MM_up) img.MM_up = img.src;
    img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
    nbArr[nbArr.length] = img;
    } }
    }

    function MM_swapImgRestore() { //v3.0
    var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a)&&x.oSrc;i++) x.src=x.oSrc;
    }

    function MM_swapImage() { //v3.0
    var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
    if ((x=MM_findObj(a))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
    }
    //-->
    </script>

    Ferngesteuert wird das Menu dann mit hilfe eines Blind-gifs, welches ein onload-anweisung enthält, welche wiederum auf das oben genannte script im menu zugreift:

    [​IMG][​IMG]

    Falls noch interessiert (das script zum gleichzeitigen laden mehrerer Frames):

    <SCRIPT LANGUAGE="JavaScript">

    <!-- Begin
    function loadFrames(frame1,page1,frame2,page2,frame3,page3,frame4,page4,frame5,page5) {
    eval("parent."+frame1+".location='"+page1+"'");
    eval("parent."+frame2+".location='"+page2+"'");
    eval("parent."+frame3+".location='"+page3+"'");
    eval("parent."+frame4+".location='"+page4+"'");
    eval("parent."+frame5+".location='"+page5+"'");
    }
    // End -->

    </script>

    Hilft das weiter? Weil hier wahrscheinlich schwierig zu lesen sende ich's Dir nochmal als Mail.

    Danke im voraus
     
  18. PIZZA

    PIZZA New Member

    Hallo,
    also ersmal finde ich die Site schön gemacht, kompliment!!! Das Script muß ich mir mal in ruhe durchlesen, kenne mich mit dreamweaver nicht so doll aus. Arbeite mit GoLive, aber script ist ja nun script. Wenn also noch ein wenig geduld da ist, bekommt man das Problem geregelt.

    Gruß Pizza

    PS: Bist du der macher der Seiten? Oder die Agentur??
     
  19. bsek

    bsek New Member

    danke für das kompliment. ich bin der macher der seite und arbeite für einen kleinen verlag, der wiederum der Veranstaltungsangentur angeschlossen ist.

    Wäre super, wenn Du Dir das mal anschauen könntest.
     
  20. PIZZA

    PIZZA New Member

    werde mir das mal in ruhe einverleiben, das kann ich aber nicht sofort, muß ja auch noch arbeiten:-( Wann soll die seite den On gehen? Mit anderen Worten wieviel druck hast du? Auf den ersten schnellen blick hat das glaube ich nichts mit dem Script zu tun. In welchen Browser testet du die Seiten????
     

Diese Seite empfehlen