Výsledky 1 až 3 z 3

Téma: Další problem s pop-up menu (úrovňovým) javascript

  1. #1

    Standardní Další problem s pop-up menu (úrovňovým) javascript

    OMLOUVÁM SE ČTENÁŘŮM OCGURU ZA NEPŘEHLEDNOST, JE TO SLÁTANINA Z JINÉHO FÓRA, JDE MI O TO UMÍSTĚNÍ PODMENU VIZ OBRÁZEK



    Další problem s pop-up menu (úrovňovým) v dreamweaveru

    o tom, že dreamweaver mx 2004 má sakra problém s kombinací pop-up menu v šabloně stránek, tady pomlčím, to je na fakt na pěst

    ale strašně moc bych potřeboval pomoci... udělal jsem rozšířené menu, ale každé podmenu (2., 3. sloupec přebírají vlastnosti prvního a v dreamweaveru to nejde pro každý zvlášť měnit)

    v kódu to ale vypadá slibněji... snažil jsem se ručně měnit některé parametry v podmenu, ale nic nebylo vidět... pak jsem si pohrál s těma hodnotama true false true false a vida - ve 3tím podmenu se mi objevil kolem sloupce s roletkama okraj... nevíte někdo, jak se dají ty hodnoty měnit tak, aby to fungovalo? Co znamenají ty true false?

    edit: už vím, true a false - aspoň ty první se vztahují k borderu a pozadí menu, pak je myslím třetí true/false pro rozlišení horizontál/vertikál menu, pak číslo, značící odsazení textu v buňce od levého kraje, ale pak další dvě hodnoty stejně nevím)

    (viz: ("Nebankovnísektor",116,16,"Verdana, Arial, Helvetica, sans-serif",10,"#999999","#ffffff","#221356","#ff0000", "left","middle",3,0,90,-5,7,true,false,true,0,false,true);



    window.mm_menu_1113145555_1_1_1 = new Menu("Flexiprodukty",116,16,"Verdana, Arial, Helvetica, sans-serif",10,"#999999","#ffffff","#221356","#ff0000", "left","middle",3,0,90,-5,7,true,false,true,0,false,true);
    mm_menu_1113145555_1_1_1.addMenuItem("Flexihotovos t","window.open('#', '_self');");
    mm_menu_1113145555_1_1_1.addMenuItem("Flexiauto"," window.open('#', '_self');");
    mm_menu_1113145555_1_1_1.addMenuItem("Flexihypoté ka","window.open('#', '_self');");
    mm_menu_1113145555_1_1_1.hideOnMouseOut=true;
    mm_menu_1113145555_1_1_1.bgColor='#555555';
    mm_menu_1113145555_1_1_1.menuBorder=1;
    mm_menu_1113145555_1_1_1.menuLiteBgColor='#FFFFFF' ;
    mm_menu_1113145555_1_1_1.menuBorderBgColor='#77777 7';
    window.mm_menu_1113145555_1_1 = new Menu("Nebankovnísektor",116,16,"Verdana, Arial, Helvetica, sans-serif",10,"#999999","#ffffff","#221356","#ff0000", "left","middle",3,0,90,-5,7,true,false,true,0,false,true); mm_menu_1113145555_1_1.addMenuItem(mm_menu_1113145555_1_1_1,"window.open ('../cz/finance_nebank.htm', '_self');");
    mm_menu_1113145555_1_1.addMenuItem("ČPProgram","w indow.open('#', '_self');");
    mm_menu_1113145555_1_1.hideOnMouseOut=true;
    mm_menu_1113145555_1_1.childMenuIcon="arrows.gif";
    mm_menu_1113145555_1_1.bgColor='#555555';
    mm_menu_1113145555_1_1.menuBorder=1;
    mm_menu_1113145555_1_1.menuLiteBgColor='#FFFFFF';
    mm_menu_1113145555_1_1.menuBorderBgColor='#777777' ;
    window.mm_menu_1113145555_1 = new Menu("root",116,16,"Verdana, Arial, Helvetica, sans-serif",10,"#999999","#ffffff","#221356","#ff0000", "left","middle",3,0,90,-5,7,true,false,true,0,false,true);
    mm_menu_1113145555_1.addMenuItem("Bankovnísektor","window.open('../cz/finance_bank.htm', '_self');");
    mm_menu_1113145555_1.addMenuItem(mm_menu_111314555 5_1_1,"window.open('../cz/finance_nebank.htm', '_self');");
    mm_menu_1113145555_1.addMenuItem("---","window.open('#', '_self');");
    mm_menu_1113145555_1.hideOnMouseOut=true;
    mm_menu_1113145555_1.childMenuIcon="arrows.gif";
    mm_menu_1113145555_1.bgColor='#555555';
    mm_menu_1113145555_1.menuBorder=1;
    mm_menu_1113145555_1.menuLiteBgColor='#FFFFFF';
    mm_menu_1113145555_1.menuBorderBgColor='#777777';


    no a hlavní věcí je, že nevím, kde se dá přenastavit defaultní pozicování, protože ta podmenu jsou strašně umístěná mám nastaveno rychlé ztracení menu po odjetí myši a v podstatě přejet rychle myší na podmenu (které je níž a je tam malá společná oblast) je fakt umění.

    (to červené jsou úrovně podmenu - další roletky z roletek)



    no ne, ono je to celkem prehledne > jak jsem zvyraznil to _1_1_1 , _1_1 , _1 - to jsou úrovně menu - vlastně roletka, pak roletka, která vyjíždí z položky v první roletce, pak třetí roletka, co vyjíždí z druhé roletky
    pak jsou parametry, kterým už jde z kódu rozumět - ale změna se nějak neprojevuje...


    nejvíce mě zajímá, co je to tučné, snad bych tam docílil toho, ať není vyjíždějící roletka posunuta níž na úroveň šipky - jestli tam není pozicování apod...

    window.mm_menu_1113145555_1_1_1 = new Menu("Flexiprodukty",116,16,"Verdana, Arial, Helvetica, sans-serif",10,"#999999","#ffffff","#221356","#ff0000", "left", "middle" ,3,0,90,-5,7,true,false,true,0,false,true);

    tak jediné, čeho jsem docílil, bylo posunutí šipky pro podmenu (nahoru nebo dolu) ale sakryš potřeboval bych posunout nahoru to vlastní podmenu, aby bylo vedle mateřského menu (je to vidět na obrázku výše).. prosím pomozte někdo, přece to nějak musí jít - jde o to, že mám nastaveno rychlé zmizení menu po odjetí myši (jelikož jsou záložky všude okolo sebe) a jelikož je podmenu v tak nízko, nedá se skoro do podmenu dostat, dřív se spíš kurzor dostane někam vedle a buď celé menu zmizí nebo se vybere další položka v mateřském menu


    tady je javascript z DW, který se o to stará


    řádek 374 hýbe se šipkou doleva/doprava childItem.style.pixelLeft = menu.menuItemWidth -11

    na řádku 376:
    childItem.style.pixelTop = (menu.menuItemHeight /2) -4;
    - pozice vrchního bodu gifu s šipkou je určena jako polovina výšky "buňky" - 4pixely (od vršku šipky k prostředku) - tak je docíleno vycentrování...

    no ale kde je umístění vlastního podmenu, netuším
    DECENT II EXTREME
    ---> http://7luke.com/decent <--- už je zase jiný konfig ale není čas to změnit na webu

  2. #2

    Standardní Re: Další problem s pop-up menu (úrovňovým) javascript

    tak zatím mi nezbývá, než to vyřešit hodně vysokými buňkami pop-up menu... pak se zvětší i společný prostor mezi menu a podmenu a už se to dá vybrat - hodím obrázek, ale stejně jsem nešťastný.... ta pozice někde být musí

    tady je ještě ten script vypsaný

    PHP kód:
    /**
     * mm_menu 20MAR2002 Version 6.0
     * Andy Finnell, March 2002
     * Copyright (c) 2000-2002 Macromedia, Inc.
     *
     * based on menu.js
     * by gary smith, July 1997
     * Copyright (c) 1997-1999 Netscape Communications Corp.
     *
     * Netscape grants you a royalty free license to use or modify this
     * software provided that this copyright notice appears on all copies.
     * This software is provided "AS IS," without a warranty of any kind.
     */
    function Menu(labelmwmhfntfsfclrfhclrbgbghhalgnvalgnpadspacetosxsysrelopqvertidtawah
    {
        
    this.version "020320 [Menu; mm_menu.js]";
        
    this.type "Menu";
        
    this.menuWidth mw;
        
    this.menuItemHeight mh;
        
    this.fontSize fs;
        
    this.fontWeight "plain";
        
    this.fontFamily fnt;
        
    this.fontColor fclr;
        
    this.fontColorHilite fhclr;
        
    this.bgColor "#555555";
        
    this.menuBorder 1;
        
    this.menuBgOpaque=opq;
        
    this.menuItemBorder 1;
        
    this.menuItemIndent idt;
        
    this.menuItemBgColor bg;
        
    this.menuItemVAlign valgn;
        
    this.menuItemHAlign halgn;
        
    this.menuItemPadding pad;
        
    this.menuItemSpacing space;
        
    this.menuLiteBgColor "#ffffff";
        
    this.menuBorderBgColor "#777777";
        
    this.menuHiliteBgColor bgh;
        
    this.menuContainerBgColor "#cccccc";
        
    this.childMenuIcon "arrows.gif";
        
    this.submenuXOffset sx;
        
    this.submenuYOffset sy;
        
    this.submenuRelativeToItem srel;
        
    this.vertical vert;
        
    this.items = new Array();
        
    this.actions = new Array();
        
    this.childMenus = new Array();
        
    this.hideOnMouseOut true;
        
    this.hideTimeout to;
        
    this.addMenuItem addMenuItem;
        
    this.writeMenus writeMenus;
        
    this.MM_showMenu MM_showMenu;
        
    this.onMenuItemOver onMenuItemOver;
        
    this.onMenuItemAction onMenuItemAction;
        
    this.hideMenu hideMenu;
        
    this.hideChildMenu hideChildMenu;
        if (!
    window.menuswindow.menus = new Array();
        
    this.label " " label;
        
    window.menus[this.label] = this;
        
    window.menus[window.menus.length] = this;
        if (!
    window.activeMenuswindow.activeMenus = new Array();
    }

    function 
    addMenuItem(labelaction) {
        
    this.items[this.items.length] = label;
        
    this.actions[this.actions.length] = action;
    }

    function 
    FIND(item) {
        if( 
    window.mmIsOpera ) return(document.getElementById(item));
        if (
    document.all) return(document.all[item]);
        if (
    document.getElementById) return(document.getElementById(item));
        return(
    false);
    }

    function 
    writeMenus(container) {
        if (
    window.triedToWriteMenus) return;
        var 
    agt navigator.userAgent.toLowerCase();
        
    window.mmIsOpera agt.indexOf("opera") != -1;
        if (!
    container && document.layers) {
            
    window.delayWriteMenus this.writeMenus;
            var 
    timer setTimeout('delayWriteMenus()'500);
            
    container = new Layer(100);
            
    clearTimeout(timer);
        } else if (
    document.all || document.hasChildNodes || window.mmIsOpera) {
            
    document.writeln('<span id="menuContainer"></span>');
            
    container FIND("menuContainer");
        }

        
    window.mmHideMenuTimer null;
        if (!
    container) return;    
        
    window.triedToWriteMenus true
        
    container.isContainer true;
        
    container.menus = new Array();
        for (var 
    i=0i<window.menus.lengthi++) 
            
    container.menus[i] = window.menus[i];
        
    window.menus.length 0;
        var 
    countMenus 0;
        var 
    countItems 0;
        var 
    top 0;
        var 
    content '';
        var 
    lrs false;
        var 
    theStat "";
        var 
    tsc 0;
        if (
    document.layerslrs true;
        for (var 
    i=0i<container.menus.lengthi++, countMenus++) {
            var 
    menu container.menus[i];
            if (
    menu.bgImageUp || !menu.menuBgOpaque) {
                
    menu.menuBorder 0;
                
    menu.menuItemBorder 0;
            }
            if (
    lrs) {
                var 
    menuLayer = new Layer(100container);
                var 
    lite = new Layer(100menuLayer);
                
    lite.top menu.menuBorder;
                
    lite.left menu.menuBorder;
                var 
    body = new Layer(100lite);
                
    body.top menu.menuBorder;
                
    body.left menu.menuBorder;
            } else {
                
    content += ''+
                
    '<div id="menuLayer'countMenus +'" style="position:absolute;z-index:1;left:10px;top:'+ (100) +'px;visibility:hidden;color:' +  menu.menuBorderBgColor ';">\n'+
                
    '  <div id="menuLite'countMenus +'" style="position:absolute;z-index:1;left:'menu.menuBorder +'px;top:'menu.menuBorder +'px;visibility:hide;" onmouseout="mouseoutMenu();">\n'+
                
    '     <div id="menuFg'countMenus +'" style="position:absolute;left:'menu.menuBorder +'px;top:'menu.menuBorder +'px;visibility:hide;">\n'+
                
    '';
            }
            var 
    x=i;
            for (var 
    i=0i<menu.items.lengthi++) {
                var 
    item menu.items[i];
                var 
    childMenu false;
                var 
    defaultHeight menu.fontSize+2*menu.menuItemPadding;
                if (
    item.label) {
                    
    item item.label;
                    
    childMenu true;
                }
                
    menu.menuItemHeight menu.menuItemHeight || defaultHeight;
                var 
    itemProps '';
                if( 
    menu.fontFamily != '' itemProps += 'font-family:' menu.fontFamily +';';
                
    itemProps += 'font-weight:' menu.fontWeight ';fontSize:' menu.fontSize 'px;';
                if (
    menu.fontStyleitemProps += 'font-style:' menu.fontStyle ';';
                if (
    document.all || window.mmIsOpera
                    
    itemProps += 'font-size:' menu.fontSize 'px;" onmouseover="onMenuItemOver(null,this);" onclick="onMenuItemAction(null,this);';
                else if (!
    document.layers) {
                    
    itemProps += 'font-size:' menu.fontSize 'px;';
                }
                var 
    l;
                if (
    lrs) {
                    var 
    lw menu.menuWidth;
                    if( 
    menu.menuItemHAlign == 'right' lw -= menu.menuItemPadding;
                    
    = new Layer(lw,body);
                }
                var 
    itemLeft 0;
                var 
    itemTop i*menu.menuItemHeight;
                if( !
    menu.vertical ) {
                    
    itemLeft i*menu.menuWidth;
                    
    itemTop 0;
                }
                var 
    dTag '<div id="menuItem'countItems +'" style="position:absolute;left:' itemLeft 'px;top:'itemTop +'px;'itemProps +'">';
                var 
    dClose '</div>'
                
    if (menu.bgImageUpdTag '<div id="menuItem'countItems +'" style="background:url('+menu.bgImageUp+');position:absolute;left:' itemLeft 'px;top:'itemTop +'px;'itemProps +'">';

                var 
    left 0top 0right 0bottom 0;
                
    left menu.menuItemPadding menu.menuItemIndent;
                
    right left menu.menuWidth 2*menu.menuItemPadding menu.menuItemIndent;
                if( 
    menu.menuItemVAlign == 'top' top menu.menuItemPadding;
                if( 
    menu.menuItemVAlign == 'bottom' top menu.menuItemHeight-menu.fontSize-1-menu.menuItemPadding;
                if( 
    menu.menuItemVAlign == 'middle' top = ((menu.menuItemHeight/2)-(menu.fontSize/2)-1);
                
    bottom menu.menuItemHeight 2*menu.menuItemPadding;
                var 
    textProps 'position:absolute;left:' left 'px;top:' top 'px;';
                if (
    lrs) {
                    
    textProps +=itemProps 'right:' right ';bottom:' bottom ';';
                    
    dTag "";
                    
    dClose "";
                }
                
                if(
    document.all && !window.mmIsOpera) {
                    
    item '<div align="' menu.menuItemHAlign '">' item '</div>';
                } else if (
    lrs) {
                    
    item '<div style="text-align:' menu.menuItemHAlign ';">' item '</div>';
                } else {
                    var 
    hitem null;
                    if( 
    menu.menuItemHAlign != 'left' ) {
                        if(
    window.mmIsOpera) {
                            var 
    operaWidth menu.menuItemHAlign == 'center' ? -(menu.menuWidth-2*menu.menuItemPadding) : (menu.menuWidth-6*menu.menuItemPadding);
                            
    hitem '<div id="menuItemHilite' countItems 'Shim" style="position:absolute;top:1px;left:' menu.menuItemPadding 'px;width:' operaWidth 'px;text-align:' 
                                
    menu.menuItemHAlign ';visibility:visible;">' item '</div>';
                            
    item '<div id="menuItemText' countItems 'Shim" style="position:absolute;top:1px;left:' menu.menuItemPadding 'px;width:' operaWidth 'px;text-align:' 
                                
    menu.menuItemHAlign ';visibility:visible;">' item '</div>';
                        } else {
                            
    hitem '<div id="menuItemHilite' countItems 'Shim" style="position:absolute;top:1px;left:1px;right:-' + (left+menu.menuWidth-3*menu.menuItemPadding) + 'px;text-align:' 
                                
    menu.menuItemHAlign ';visibility:visible;">' item '</div>';
                            
    item '<div id="menuItemText' countItems 'Shim" style="position:absolute;top:1px;left:1px;right:-' + (left+menu.menuWidth-3*menu.menuItemPadding) + 'px;text-align:' 
                                
    menu.menuItemHAlign ';visibility:visible;">' item '</div>';
                        }
                    } else 
    hitem null;
                }
                if(
    document.all && !window.mmIsOperaitem '<div id="menuItemShim' countItems '" style="position:absolute;left:0px;top:0px;">' item '</div>';
                var 
    dText    '<div id="menuItemText'countItems +'" style="' textProps 'color:'menu.fontColor +';">'item +'&nbsp</div>\n'
                            
    '<div id="menuItemHilite'countItems +'" style="' textProps 'color:'menu.fontColorHilite +';visibility:hidden;">' 
                            
    + (hitem||item) +'&nbsp</div>';
                if (
    childMenucontent += ( dTag dText '<div id="childMenu'countItems +'" style="position:absolute;left:0px;top:3px;"><img src="'menu.childMenuIcon +'"></div>\n' dClose);
                else 
    content += ( dTag dText dClose);
                if (
    lrs) {
                    
    l.document.open("text/html");
                    
    l.document.writeln(content);
                    
    l.document.close();    
                    
    content '';
                    
    theStat += "-";
                    
    tsc++;
                    if (
    tsc 50) {
                        
    tsc 0;
                        
    theStat "";
                    }
                    
    status theStat;
                }
                
    countItems++;  
            }
            if (
    lrs) {
                var 
    focusItem = new Layer(100body);
                
    focusItem.visiblity="hidden";
                
    focusItem.document.open("text/html");
                
    focusItem.document.writeln("&nbsp;");
                
    focusItem.document.close();    
            } else {
              
    content += '      <div id="focusItem'countMenus +'" style="position:absolute;left:0px;top:0px;visibility:hide;" onclick="onMenuItemAction(null,this);">&nbsp;</div>\n';
              
    content += '   </div>\n  </div>\n</div>\n';
            }
            
    i=x;
        }
        if (
    document.layers) {        
            
    container.clip.width window.innerWidth;
            
    container.clip.height window.innerHeight;
            
    container.onmouseout mouseoutMenu;
            
    container.menuContainerBgColor this.menuContainerBgColor;
            for (var 
    i=0i<container.document.layers.lengthi++) {
                
    proto container.menus[i];
                var 
    menu container.document.layers[i];
                
    container.menus[i].menuLayer menu;
                
    container.menus[i].menuLayer.Menu container.menus[i];
                
    container.menus[i].menuLayer.Menu.container container;
                var 
    body menu.document.layers[0].document.layers[0];
                
    body.clip.width proto.menuWidth || body.clip.width;
                
    body.clip.height proto.menuHeight || body.clip.height;
                for (var 
    n=0n<body.document.layers.length-1n++) {
                    var 
    body.document.layers[n];
                    
    l.Menu container.menus[i];
                    
    l.menuHiliteBgColor proto.menuHiliteBgColor;
                    
    l.document.bgColor proto.menuItemBgColor;
                    
    l.saveColor proto.menuItemBgColor;
                    
    l.onmouseover proto.onMenuItemOver;
                    
    l.onclick proto.onMenuItemAction;
                    
    l.mmaction container.menus[i].actions[n];
                    
    l.focusItem body.document.layers[body.document.layers.length-1];
                    
    l.clip.width proto.menuWidth || body.clip.width;
                    
    l.clip.height proto.menuItemHeight || l.clip.height;
                    if (
    n>0) {
                        if( 
    l.Menu.vertical l.top body.document.layers[n-1].top body.document.layers[n-1].clip.height proto.menuItemBorder proto.menuItemSpacing;
                        else 
    l.left body.document.layers[n-1].left body.document.layers[n-1].clip.width proto.menuItemBorder proto.menuItemSpacing;
                    }
                    
    l.hilite l.document.layers[1];
                    if (
    proto.bgImageUpl.background.src proto.bgImageUp;
                    
    l.document.layers[1].isHilite true;
                    if (
    l.document.layers.length 2) {
                        
    l.childMenu container.menus[i].items[n].menuLayer;
                        
    l.document.layers[2].left l.clip.width -13;
                        
    l.document.layers[2].top = (l.clip.height 2) -4;
                        
    l.document.layers[2].clip.left += 3;
                        
    l.Menu.childMenus[l.Menu.childMenus.length] = l.childMenu;
                    }
                }
                if( 
    proto.menuBgOpaque body.document.bgColor proto.bgColor;
                if( 
    proto.vertical ) {
                    
    body.clip.width  l.clip.width +proto.menuBorder;
                    
    body.clip.height l.top l.clip.height +proto.menuBorder;
                } else {
                    
    body.clip.height  l.clip.height +proto.menuBorder;
                    
    body.clip.width l.left l.clip.width  +proto.menuBorder;
                    if( 
    body.clip.width window.innerWidth body.clip.width window.innerWidth;
                }
                var 
    focusItem body.document.layers[n];
                
    focusItem.clip.width body.clip.width;
                
    focusItem.Menu l.Menu;
                
    focusItem.top = -30;
                
    focusItem.captureEvents(Event.MOUSEDOWN);
                
    focusItem.onmousedown onMenuItemDown;
                if( 
    proto.menuBgOpaque menu.document.bgColor proto.menuBorderBgColor;
                var 
    lite menu.document.layers[0];
                if( 
    proto.menuBgOpaque lite.document.bgColor proto.menuLiteBgColor;
                
    lite.clip.width body.clip.width +1;
                
    lite.clip.height body.clip.height +1;
                
    menu.clip.width body.clip.width + (proto.menuBorder 3) ;
                
    menu.clip.height body.clip.height + (proto.menuBorder 3);
            }
        } else {
            if ((!
    document.all) && (container.hasChildNodes) && !window.mmIsOpera) {
                
    container.innerHTML=content;
            } else {
                
    container.document.open("text/html");
                
    container.document.writeln(content);
                
    container.document.close();    
            }
            if (!
    FIND("menuLayer0")) return;
            var 
    menuCount 0;
            for (var 
    x=0x<container.menus.lengthx++) {
                var 
    menuLayer FIND("menuLayer" x);
                
    container.menus[x].menuLayer "menuLayer" x;
                
    menuLayer.Menu container.menus[x];
                
    menuLayer.Menu.container "menuLayer" x;
                
    menuLayer.style.zindex 1;
                var 
    menuLayer.style;
                
    s.pixeltop = -300;
                
    s.pixelleft = -300;
                
    s.top '-300px';
                
    s.left '-300px';

                var 
    menu container.menus[x];
                
    menu.menuItemWidth menu.menuWidth || menu.menuIEWidth || 140;
                if( 
    menu.menuBgOpaque menuLayer.style.backgroundColor menu.menuBorderBgColor;
                var 
    top 0;
                var 
    left 0;
                
    menu.menuItemLayers = new Array();
                for (var 
    i=0i<container.menus[x].items.lengthi++) {
                    var 
    FIND("menuItem" menuCount);
                    
    l.Menu container.menus[x];
                    
    l.Menu.menuItemLayers[l.Menu.menuItemLayers.length] = l;
                    if (
    l.addEventListener || window.mmIsOpera) {
                        
    l.style.width menu.menuItemWidth 'px';
                        
    l.style.height menu.menuItemHeight 'px';
                        
    l.style.pixelWidth menu.menuItemWidth;
                        
    l.style.pixelHeight menu.menuItemHeight;
                        
    l.style.top top 'px';
                        
    l.style.left left 'px';
                        if(
    l.addEventListener) {
                            
    l.addEventListener("mouseover"onMenuItemOverfalse);
                            
    l.addEventListener("click"onMenuItemActionfalse);
                            
    l.addEventListener("mouseout"mouseoutMenufalse);
                        }
                        if( 
    menu.menuItemHAlign != 'left' ) {
                            
    l.hiliteShim FIND("menuItemHilite" menuCount "Shim");
                            
    l.hiliteShim.style.visibility "inherit";
                            
    l.textShim FIND("menuItemText" menuCount "Shim");
                            
    l.hiliteShim.style.pixelWidth menu.menuItemWidth 2*menu.menuItemPadding menu.menuItemIndent;
                            
    l.hiliteShim.style.width l.hiliteShim.style.pixelWidth;
                            
    l.textShim.style.pixelWidth menu.menuItemWidth 2*menu.menuItemPadding menu.menuItemIndent;
                            
    l.textShim.style.width l.textShim.style.pixelWidth;    
                        }
                    } else {
                        
    l.style.pixelWidth menu.menuItemWidth;
                        
    l.style.pixelHeight menu.menuItemHeight;
                        
    l.style.pixelTop top;
                        
    l.style.pixelLeft left;
                        if( 
    menu.menuItemHAlign != 'left' ) {
                            var 
    shim FIND("menuItemShim" menuCount);
                            
    shim[0].style.pixelWidth menu.menuItemWidth 2*menu.menuItemPadding menu.menuItemIndent;
                            
    shim[1].style.pixelWidth menu.menuItemWidth 2*menu.menuItemPadding menu.menuItemIndent;
                            
    shim[0].style.width shim[0].style.pixelWidth 'px';
                            
    shim[1].style.width shim[1].style.pixelWidth 'px';
                        }
                    }
                    if( 
    menu.vertical top top menu.menuItemHeight+menu.menuItemBorder+menu.menuItemSpacing;
                    else 
    left left menu.menuItemWidth+menu.menuItemBorder+menu.menuItemSpacing;
                    
    l.style.fontSize menu.fontSize 'px';
                    
    l.style.backgroundColor menu.menuItemBgColor;
                    
    l.style.visibility "inherit";
                    
    l.saveColor menu.menuItemBgColor;
                    
    l.menuHiliteBgColor menu.menuHiliteBgColor;
                    
    l.mmaction container.menus[x].actions[i];
                    
    l.hilite FIND("menuItemHilite" menuCount);
                    
    l.focusItem FIND("focusItem" x);
                    
    l.focusItem.style.pixelTop = -30;
                    
    l.focusItem.style.top '-30px';
                    var 
    childItem FIND("childMenu" menuCount);
                    if (
    childItem) {
                        
    l.childMenu container.menus[x].items[i].menuLayer;
                        
    childItem.style.pixelLeft menu.menuItemWidth -11;
                        
    childItem.style.left childItem.style.pixelLeft 'px';
                        
    childItem.style.pixelTop = (menu.menuItemHeight /2) -4;
                        
    childItem.style.top childItem.style.pixelTop 'px';
                        
    l.Menu.childMenus[l.Menu.childMenus.length] = l.childMenu;
                    }
                    
    l.style.cursor "hand";
                    
    menuCount++;
                }
                if( 
    menu.vertical ) {
                    
    menu.menuHeight top-1-menu.menuItemSpacing;
                    
    menu.menuWidth menu.menuItemWidth;
                } else {
                    
    menu.menuHeight menu.menuItemHeight;
                    
    menu.menuWidth left-1-menu.menuItemSpacing;
                }

                var 
    lite FIND("menuLite" x);
                var 
    lite.style;
                
    s.pixelHeight menu.menuHeight +(menu.menuBorder 2);
                
    s.height s.pixelHeight 'px';
                
    s.pixelWidth menu.menuWidth + (menu.menuBorder 2);
                
    s.width s.pixelWidth 'px';
                if( 
    menu.menuBgOpaque s.backgroundColor menu.menuLiteBgColor;

                var 
    body FIND("menuFg" x);
                
    body.style;
                
    s.pixelHeight menu.menuHeight menu.menuBorder;
                
    s.height s.pixelHeight 'px';
                
    s.pixelWidth menu.menuWidth menu.menuBorder;
                
    s.width s.pixelWidth 'px';
                if( 
    menu.menuBgOpaque s.backgroundColor menu.bgColor;

                
    menuLayer.style;
                
    s.pixelWidth  menu.menuWidth + (menu.menuBorder 4);
                
    s.width s.pixelWidth 'px';
                
    s.pixelHeight  menu.menuHeight+(menu.menuBorder*4);
                
    s.height s.pixelHeight 'px';
            }
        }
        if (
    document.captureEventsdocument.captureEvents(Event.MOUSEUP);
        if (
    document.addEventListenerdocument.addEventListener("mouseup"onMenuItemOverfalse);
        if (
    document.layers && window.innerWidth) {
            
    window.onresize NS4resize;
            
    window.NS4sIW window.innerWidth;
            
    window.NS4sIH window.innerHeight;
            
    setTimeout("NS4resize()",500);
        }
        
    document.onmouseup mouseupMenu;
        
    window.mmWroteMenu true;
        
    status "";
    }

    function 
    NS4resize() {
        if (
    NS4sIW != window.innerWidth || NS4sIH != window.innerHeightwindow.location.reload();
    }

    function 
    onMenuItemOver(el) {
        
    MM_clearTimeout();
        
    || this;
        var 
    window.ActiveMenuItem;
        if (
    document.layers) {
            if (
    a) {
                
    a.document.bgColor a.saveColor;
                if (
    a.hilitea.hilite.visibility "hidden";
                if (
    a.Menu.bgImageOvera.background.src a.Menu.bgImageUp;
                
    a.focusItem.top = -100;
                
    a.clicked false;
            }
            if (
    l.hilite) {
                
    l.document.bgColor l.menuHiliteBgColor;
                
    l.zIndex 1;
                
    l.hilite.visibility "inherit";
                
    l.hilite.zIndex 2;
                
    l.document.layers[1].zIndex 1;
                
    l.focusItem.zIndex this.zIndex +2;
            }
            if (
    l.Menu.bgImageOverl.background.src l.Menu.bgImageOver;
            
    l.focusItem.top this.top;
            
    l.focusItem.left this.left;
            
    l.focusItem.clip.width l.clip.width;
            
    l.focusItem.clip.height l.clip.height;
            
    l.Menu.hideChildMenu(l);
        } else if (
    l.style && l.Menu) {
            if (
    a) {
                
    a.style.backgroundColor a.saveColor;
                if (
    a.hilitea.hilite.style.visibility "hidden";
                if (
    a.hiliteShima.hiliteShim.style.visibility "inherit";
                if (
    a.Menu.bgImageUpa.style.background "url(" a.Menu.bgImageUp +")";;
            } 
            
    l.style.backgroundColor l.menuHiliteBgColor;
            
    l.zIndex 1;
            if (
    l.Menu.bgImageOverl.style.background "url(" l.Menu.bgImageOver +")";
            if (
    l.hilite) {
                
    l.hilite.style.visibility "inherit";
                if( 
    l.hiliteShim l.hiliteShim.style.visibility "visible";
            }
            
    l.focusItem.style.pixelTop l.style.pixelTop;
            
    l.focusItem.style.top l.focusItem.style.pixelTop 'px';
            
    l.focusItem.style.pixelLeft l.style.pixelLeft;
            
    l.focusItem.style.left l.focusItem.style.pixelLeft 'px';
            
    l.focusItem.style.zIndex l.zIndex +1;
            
    l.Menu.hideChildMenu(l);
        } else return;
        
    window.ActiveMenuItem l;
    }

    function 
    onMenuItemAction(el) {
        
    window.ActiveMenuItem;
        if (!
    l) return;
        
    hideActiveMenus();
        if (
    l.mmaction) eval("" l.mmaction);
        
    window.ActiveMenuItem 0;
    }

    function 
    MM_clearTimeout() {
        if (
    mmHideMenuTimerclearTimeout(mmHideMenuTimer);
        
    mmHideMenuTimer null;
        
    mmDHFlag false;
    }

    function 
    MM_startTimeout() {
        if( 
    window.ActiveMenu ) {
            
    mmStart = new Date();
            
    mmDHFlag true;
            
    mmHideMenuTimer setTimeout("mmDoHide()"window.ActiveMenu.Menu.hideTimeout);
        }
    }

    function 
    mmDoHide() {
        if (!
    mmDHFlag || !window.ActiveMenu) return;
        var 
    elapsed = new Date() - mmStart;
        var 
    timeout window.ActiveMenu.Menu.hideTimeout;
        if (
    elapsed timeout) {
            
    mmHideMenuTimer setTimeout("mmDoHide()"timeout+100-elapsed);
            return;
        }
        
    mmDHFlag false;
        
    hideActiveMenus();
        
    window.ActiveMenuItem 0;
    }

    function 
    MM_showMenu(menuxychildimgname) {
        if (!
    window.mmWroteMenu) return;
        
    MM_clearTimeout();
        if (
    menu) {
            var 
    obj FIND(imgname) || document.images[imgname] || document.links[imgname] || document.anchors[imgname];
            
    moveXbySlicePos (xobj);
            
    moveYbySlicePos (yobj);
        }
        if (
    document.layers) {
            if (
    menu) {
                var 
    menu.menuLayer || menu;
                
    l.top l.left 1;
                
    hideActiveMenus();
                if (
    this.visibilitythis;
                
    window.ActiveMenu l;
            } else {
                var 
    child;
            }
            if (!
    l) return;
            for (var 
    i=0i<l.layers.lengthi++) {                
                if (!
    l.layers[i].isHilitel.layers[i].visibility "inherit";
                if (
    l.layers[i].document.layers.length 0MM_showMenu(null"relative""relative"l.layers[i]);
            }
            if (
    l.parentLayer) {
                if (
    != "relative"l.parentLayer.left || window.pageX || 0;
                if (
    l.parentLayer.left l.clip.width window.innerWidthl.parentLayer.left -= (l.parentLayer.left l.clip.width window.innerWidth);
                if (
    != "relative"l.parentLayer.top || window.pageY || 0;
                if (
    l.parentLayer.isContainer) {
                    
    l.Menu.xOffset window.pageXOffset;
                    
    l.Menu.yOffset window.pageYOffset;
                    
    l.parentLayer.clip.width window.ActiveMenu.clip.width +2;
                    
    l.parentLayer.clip.height window.ActiveMenu.clip.height +2;
                    if (
    l.parentLayer.menuContainerBgColor && l.Menu.menuBgOpaque l.parentLayer.document.bgColor l.parentLayer.menuContainerBgColor;
                }
            }
            
    l.visibility "inherit";
            if (
    l.Menul.Menu.container.visibility "inherit";
        } else if (
    FIND("menuItem0")) {
            var 
    menu.menuLayer || menu;    
            
    hideActiveMenus();
            if (
    typeof(l) == "string"FIND(l);
            
    window.ActiveMenu l;
            var 
    l.style;
            
    s.visibility "inherit";
            if (
    != "relative") {
                
    s.pixelLeft || (window.pageX document.body.scrollLeft) || 0;
                
    s.left s.pixelLeft 'px';
            }
            if (
    != "relative") {
                
    s.pixelTop || (window.pageY document.body.scrollTop) || 0;
                
    s.top s.pixelTop 'px';
            }
            
    l.Menu.xOffset document.body.scrollLeft;
            
    l.Menu.yOffset document.body.scrollTop;
        }
        if (
    menuwindow.activeMenus[window.activeMenus.length] = l;
        
    MM_clearTimeout();
    }

    function 
    onMenuItemDown(el) {
        var 
    window.ActiveMenuItem;
        if (
    document.layers && a) {
            
    a.eX e.pageX;
            
    a.eY e.pageY;
            
    a.clicked true;
        }
    }

    function 
    mouseupMenu(e) {
        
    hideMenu(truee);
        
    hideActiveMenus();
        return 
    true;
    }

    function 
    getExplorerVersion() {
        var 
    ieVers parseFloat(navigator.appVersion);
        if( 
    navigator.appName != 'Microsoft Internet Explorer' ) return ieVers;
        var 
    tempVers navigator.appVersion;
        var 
    tempVers.indexOf'MSIE ' );
        if( 
    >= ) {
            
    tempVers tempVers.substringi+);
            
    ieVers parseFloattempVers ); 
        }
        return 
    ieVers;
    }

    function 
    mouseoutMenu() {
        if ((
    navigator.appName == "Microsoft Internet Explorer") && (getExplorerVersion() < 4.5))
            return 
    true;
        
    hideMenu(falsefalse);
        return 
    true;
    }

    function 
    hideMenu(mouseupe) {
        var 
    window.ActiveMenuItem;
        if (
    && document.layers) {
            
    a.document.bgColor a.saveColor;
            
    a.focusItem.top = -30;
            if (
    a.hilitea.hilite.visibility "hidden";
            if (
    mouseup && a.mmaction && a.clicked && window.ActiveMenu) {
                 if (
    a.eX <= e.pageX+15 && a.eX >= e.pageX-15 && a.eY <= e.pageY+10 && a.eY >= e.pageY-10) {
                    
    setTimeout('window.ActiveMenu.Menu.onMenuItemAction();'500);
                }
            }
            
    a.clicked false;
            if (
    a.Menu.bgImageOvera.background.src a.Menu.bgImageUp;
        } else if (
    window.ActiveMenu && FIND("menuItem0")) {
            if (
    a) {
                
    a.style.backgroundColor a.saveColor;
                if (
    a.hilitea.hilite.style.visibility "hidden";
                if (
    a.hiliteShima.hiliteShim.style.visibility "inherit";
                if (
    a.Menu.bgImageUpa.style.background "url(" a.Menu.bgImageUp +")";
            }
        }
        if (!
    mouseup && window.ActiveMenu) {
            if (
    window.ActiveMenu.Menu) {
                if (
    window.ActiveMenu.Menu.hideOnMouseOutMM_startTimeout();
                return(
    true);
            }
        }
        return(
    true);
    }

    function 
    hideChildMenu(hcmLayer) {
        
    MM_clearTimeout();
        var 
    hcmLayer;
        for (var 
    i=0l.Menu.childMenus.lengthi++) {
            var 
    theLayer l.Menu.childMenus[i];
            if (
    document.layerstheLayer.visibility "hidden";
            else {
                
    theLayer FIND(theLayer);
                
    theLayer.style.visibility "hidden";
                if( 
    theLayer.Menu.menuItemHAlign != 'left' ) {
                    for(var 
    0theLayer.Menu.menuItemLayers.lengthj++) {
                        var 
    itemLayer theLayer.Menu.menuItemLayers[j];
                        if(
    itemLayer.textShimitemLayer.textShim.style.visibility "inherit";
                    }
                }
            }
            
    theLayer.Menu.hideChildMenu(theLayer);
        }
        if (
    l.childMenu) {
            var 
    childMenu l.childMenu;
            if (
    document.layers) {
                
    l.Menu.MM_showMenu(null,null,null,childMenu.layers[0]);
                
    childMenu.zIndex l.parentLayer.zIndex +1;
                
    childMenu.top l.Menu.menuLayer.top l.Menu.submenuYOffset;
                if( 
    l.Menu.vertical ) {
                    if( 
    l.Menu.submenuRelativeToItem childMenu.top += l.top l.parentLayer.top;
                    
    childMenu.left l.parentLayer.left l.parentLayer.clip.width - (2*l.Menu.menuBorder) + l.Menu.menuLayer.left l.Menu.submenuXOffset;
                } else {
                    
    childMenu.top += l.top l.parentLayer.top;    
                    if( 
    l.Menu.submenuRelativeToItem childMenu.left l.Menu.menuLayer.left l.left l.clip.width + (2*l.Menu.menuBorder) + l.Menu.submenuXOffset;
                    else 
    childMenu.left l.parentLayer.left l.parentLayer.clip.width - (2*l.Menu.menuBorder) + l.Menu.menuLayer.left l.Menu.submenuXOffset;
                }
                if( 
    childMenu.left l.Menu.container.clip.left l.Menu.container.clip.left childMenu.left;
                var 
    childMenu.clip.width+childMenu.left-l.Menu.container.clip.left;
                if (
    l.Menu.container.clip.width)  l.Menu.container.clip.width w;
                var 
    childMenu.clip.height+childMenu.top-l.Menu.container.clip.top;
                if (
    l.Menu.container.clip.heightl.Menu.container.clip.height h;
                
    l.document.layers[1].zIndex 0;
                
    childMenu.visibility "inherit";
            } else if (
    FIND("menuItem0")) {
                
    childMenu FIND(l.childMenu);
                var 
    menuLayer FIND(l.Menu.menuLayer);
                var 
    childMenu.style;
                
    s.zIndex menuLayer.style.zIndex+1;
                if (
    document.all || window.mmIsOpera) {
                    
    s.pixelTop menuLayer.style.pixelTop l.Menu.submenuYOffset;
                    if( 
    l.Menu.vertical ) {
                        if( 
    l.Menu.submenuRelativeToItem s.pixelTop += l.style.pixelTop;
                        
    s.pixelLeft l.style.pixelWidth menuLayer.style.pixelLeft l.Menu.submenuXOffset;
                        
    s.left s.pixelLeft 'px';
                    } else {
                        
    s.pixelTop += l.style.pixelTop;
                        if( 
    l.Menu.submenuRelativeToItem s.pixelLeft menuLayer.style.pixelLeft l.style.pixelLeft l.style.pixelWidth + (2*l.Menu.menuBorder) + l.Menu.submenuXOffset;
                        else 
    s.pixelLeft = (menuLayer.style.pixelWidth-4*l.Menu.menuBorder) + menuLayer.style.pixelLeft l.Menu.submenuXOffset;
                        
    s.left s.pixelLeft 'px';
                    }
                } else {
                    var 
    top parseInt(menuLayer.style.top) + l.Menu.submenuYOffset;
                    var 
    left 0;
                    if( 
    l.Menu.vertical ) {
                        if( 
    l.Menu.submenuRelativeToItem top += parseInt(l.style.top);
                        
    left = (parseInt(menuLayer.style.width)-4*l.Menu.menuBorder) + parseInt(menuLayer.style.left) + l.Menu.submenuXOffset;
                    } else {
                        
    top += parseInt(l.style.top);
                        if( 
    l.Menu.submenuRelativeToItem left parseInt(menuLayer.style.left) + parseInt(l.style.left) + parseInt(l.style.width) + (2*l.Menu.menuBorder) + l.Menu.submenuXOffset;
                        else 
    left = (parseInt(menuLayer.style.width)-4*l.Menu.menuBorder) + parseInt(menuLayer.style.left) + l.Menu.submenuXOffset;
                    }
                    
    s.top top 'px';
                    
    s.left left 'px';
                }
                
    childMenu.style.visibility "inherit";
            } else return;
            
    window.activeMenus[window.activeMenus.length] = childMenu;
        }
    }

    function 
    hideActiveMenus() {
        if (!
    window.activeMenus) return;
        for (var 
    i=0window.activeMenus.lengthi++) {
            if (!
    activeMenus[i]) continue;
            if (
    activeMenus[i].visibility && activeMenus[i].Menu && !window.mmIsOpera) {
                
    activeMenus[i].visibility "hidden";
                
    activeMenus[i].Menu.container.visibility "hidden";
                
    activeMenus[i].Menu.container.clip.left 0;
            } else if (
    activeMenus[i].style) {
                var 
    activeMenus[i].style;
                
    s.visibility "hidden";
                
    s.left '-200px';
                
    s.top '-200px';
            }
        }
        if (
    window.ActiveMenuItemhideMenu(falsefalse);
        
    window.activeMenus.length 0;
    }

    function 
    moveXbySlicePos (ximg) { 
        if (!
    document.layers) {
            var 
    onWindows navigator.platform navigator.platform == "Win32" false;
            var 
    macIE45 document.all && !onWindows && getExplorerVersion() == 4.5;
            var 
    par img;
            var 
    lastOffset 0;
            while(
    par){
                if( 
    par.leftMargin && ! onWindows += parseInt(par.leftMargin);
                if( (
    par.offsetLeft != lastOffset) && par.offsetLeft += parseInt(par.offsetLeft);
                if( 
    par.offsetLeft != lastOffset par.offsetLeft;
                
    par macIE45 par.parentElement par.offsetParent;
            }
        } else if (
    img.x+= img.x;
        return 
    x;
    }

    function 
    moveYbySlicePos (yimg) {
        if(!
    document.layers) {
            var 
    onWindows navigator.platform navigator.platform == "Win32" false;
            var 
    macIE45 document.all && !onWindows && getExplorerVersion() == 4.5;
            var 
    par img;
            var 
    lastOffset 0;
            while(
    par){
                if( 
    par.topMargin && !onWindows += parseInt(par.topMargin);
                if( (
    par.offsetTop != lastOffset) && par.offsetTop += parseInt(par.offsetTop);
                if( 
    par.offsetTop != lastOffset par.offsetTop;
                
    par macIE45 par.parentElement par.offsetParent;
            }        
        } else if (
    img.>= 0+= img.y;
        return 
    y;

    Naposledy upravil Jezevec; 20.12.2005 v 09:10. Důvod: Zbytecne dlouhe - pouzivej tagy
    DECENT II EXTREME
    ---> http://7luke.com/decent <--- už je zase jiný konfig ale není čas to změnit na webu

  3. #3

    Standardní Re: Další problem s pop-up menu (úrovňovým) javascript

    musím to tady oprášit, to fakt nikdo neporadí ? ;,(

    částečně jsem problém řešil zvětšením výšky buňky menu, ale potřeboval bych ještě to posunutí


    [img]www.calver.cz/luke/popup_menu.jpg[/img]

    javascript, vygenerovaný dreamweaverem mx

    http://www.calver.cz/luke/mm_menu.zip
    www.calver.cz/luke/mm_menu.zip
    DECENT II EXTREME
    ---> http://7luke.com/decent <--- už je zase jiný konfig ale není čas to změnit na webu

Informace o tématu

Users Browsing this Thread

Toto téma si právě prohlíží 1 uživatelů. (0 registrovaných a 1 anonymních)

Pravidla přispívání

  • Nemůžete zakládat nová témata
  • Nemůžete zasílat odpovědi
  • Nemůžete přikládat přílohy
  • Nemůžete upravovat své příspěvky
  •