Question: My spry menu bar is not displaying correctly in Dreamweaver


hello,

 

i am  new dreamweaver cs5, coding isn't area of expertise. problem spry menu bar not display tabs on menu bar correctly. when try apply new changes css of horizontal menu bar, half of tabs change , other half not. also, unable drag , move menu bar around, function once able before. @ times, 1 tab of menu bar display itself, without of other tabs well.

 

i have hunch problems stem coding errors in sprymenubarhorizontal.css, , possibly in sprymenubar.js. on css styles panel, sprymenubarhorizontal.css list reads follows:

 

screen shot 2012-09-01 @ 10.40.51 pm.png

i have hunch line-up incorrect, don't know problem is.

 

here coding sprymenubarhorizontal.css looks right now:

____________________________

@charset "utf-8";

 

/* sprymenubarhorizontal.css - version 0.6 - spry pre-release 1.6.1 */

 

/* copyright (c) 2006. adobe systems incorporated. rights reserved. */

 

/*******************************************************************************

 

layout information: describes box model, positioning, z-order

 

*******************************************************************************/

 

/* outermost container of menu bar, auto width box no margin or padding */

ul.menubarhorizontal

{

    margin: 0;

    padding: 0;

    list-style-type: none;

    font-size: 100%;

    cursor: default;

    width: auto;

    text-align: center;

}

/* set active menu bar class, setting z-index accomodate ie rendering bug: http://therealcrisp.xs4all.nl/meuk/ie-zindexbug.html */

ul.menubaractive

{

    z-index: 1000;

}

/* menu item containers, position children relative container , fixed width */

ul.menubarhorizontal li

{

    margin: 0;

    padding: 0;

    list-style-type: none;

    font-size: 100%;

    position: relative;

    text-align: left;

    cursor: pointer;

    width: 8em;

    float: left;

    left: 10;

    top: 10;

    height: 10;

}

/* submenus should appear below parent (top: 0) higher z-index, off left side of screen (-1000em) */

ul.menubarhorizontal ul

{

    margin: 0;

    padding: 0;

    list-style-type: none;

    font-size: 100%;

    z-index: 1020;

    cursor: default;

    width: 8.2em;

    position: absolute;

    left: -1000em;

}

/* submenu showing class designation menubarsubmenuvisible, set left auto comes onto screen below parent menu item */

ul.menubarhorizontal ul.menubarsubmenuvisible

{

    left: auto;

}

/* menu item containers same fixed width parent */

ul.menubarhorizontal ul li

{

    width: 8.2em;

}

/* submenus should appear overlapping right (95%) , (-5%) */

ul.menubarhorizontal ul ul

{

    position: absolute;

    margin: -5% 0 0 95%;

}

/* submenu showing class designation menubarsubmenuvisible, set left 0 comes onto screen */

ul.menubarhorizontal ul.menubarsubmenuvisible ul.menubarsubmenuvisible

{

    left: auto;

    top: 0;

}

 

/*******************************************************************************

 

design information: describes color scheme, borders, fonts

 

*******************************************************************************/

 

/* submenu containers have borders on sides */

ul.menubarhorizontal ul

{

    border: 1px solid #ccc;

    text-align: left;

}

/* menu items light gray block padding , no text decoration */

ul.menubarhorizontal a

{

    display: block;

    cursor: pointer;

    background-color: #000;

    padding: 0.5em 0.75em;

    color: #fff;

    text-decoration: none;

    font-family: futura;

    float: none;

}

/* menu items have mouse on or focus have blue background , white text */

ul.menubarhorizontal a:hover, ul.menubarhorizontal a:focus

{

    background-color: #c00;

    color: #fff;

}

/* menu items open submenus set menubaritemhover blue background , white text */

ul.menubarhorizontal a.menubaritemhover, ul.menubarhorizontal a.menubaritemsubmenuhover, ul.menubarhorizontal a.menubarsubmenuvisible

{

    background-color: #c00;

    color: #fff;

}

 

/*******************************************************************************

 

submenu indication: styles if there submenu under given menu item

 

*******************************************************************************/

 

/* menu items have submenu have class designation menubaritemsubmenu , set use background image positioned on far left (95%) , centered vertically (50%) */

ul.menubarhorizontal a.menubaritemsubmenu

{

    background-image: url(sprymenubardown.gif);

    background-repeat: no-repeat;

    background-position: 95% 50%;

    text-align: center;

}

/* menu items have submenu have class designation menubaritemsubmenu , set use background image positioned on far left (95%) , centered vertically (50%) */

ul.menubarhorizontal ul a.menubaritemsubmenu

{

    background-image: url(sprymenubarright.gif);

    background-repeat: no-repeat;

    background-position: 95% 50%;

}

/* menu items open submenus have class designation menubaritemsubmenuhover , set use "hover" background image positioned on far left (95%) , centered vertically (50%) */

ul.menubarhorizontal a.menubaritemsubmenuhover

{

    background-image: url(sprymenubardownhover.gif);

    background-repeat: no-repeat;

    background-position: 95% 50%;

}

/* menu items open submenus have class designation menubaritemsubmenuhover , set use "hover" background image positioned on far left (95%) , centered vertically (50%) */

ul.menubarhorizontal ul a.menubaritemsubmenuhover

{

    background-image: url(sprymenubarrighthover.gif);

    background-repeat: no-repeat;

    background-position: 95% 50%;

}

 

/*******************************************************************************

 

browser hacks: hacks below should not changed unless expert

 

*******************************************************************************/

 

/* hack ie: make sure sub menus show above form controls, underlay each submenu iframe */

ul.menubarhorizontal iframe

{

    position: absolute;

    z-index: 1010;

    filter:alpha(opacity:0.1);

}

/* hack ie: stabilize appearance of menu items; slash in float keep ie 5.0 parsing */

@media screen, projection

{

    ul.menubarhorizontal li.menubaritemie

    {

    display: block;

    f\loat: left;

    background: #fff;

    }

}

_________________________________

and here sprymenubar.js coding looks right too:

_________________________________

sprymenubar.js

file handles javascript spry menu bar.  should have no need

edit file.  highlights of menubar object timers are

used keep submenus showing until user has hovered on parent

menu item time, timer when leave submenu keep

showing submenu until timer fires.

 

*******************************************************************************/

 

(function() { // beginsprycomponent

 

if (typeof spry == "undefined") window.spry = {}; if (!spry.widget) spry.widget = {};

 

spry.browsersniff = function()

{

    var b = navigator.appname.tostring();

    var = navigator.platform.tostring();

    var ua = navigator.useragent.tostring();

 

    this.mozilla = this.ie = this.opera = this.safari = false;

    var re_opera = /opera.([0-9\.]*)/i;

    var re_msie = /msie.([0-9\.]*)/i;

    var re_gecko = /gecko/i;

    var re_safari = /(applewebkit|safari)\/([\d\.]*)/i;

    var r = false;

 

    if ( (r = ua.match(re_opera))) {

        this.opera = true;

        this.version = parsefloat(r[1]);

    } else if ( (r = ua.match(re_msie))) {

        this.ie = true;

        this.version = parsefloat(r[1]);

    } else if ( (r = ua.match(re_safari))) {

        this.safari = true;

        this.version = parsefloat(r[2]);

    } else if (ua.match(re_gecko)) {

        var re_gecko_version = /rv:\s*([0-9\.]+)/i;

        r = ua.match(re_gecko_version);

        this.mozilla = true;

        this.version = parsefloat(r[1]);

    }

    this.windows = this.mac = this.linux = false;

 

    this.platform = ua.match(/windows/i) ? "windows" :

                    (ua.match(/linux/i) ? "linux" :

                    (ua.match(/mac/i) ? "mac" :

                    ua.match(/unix/i)? "unix" : "unknown"));

    this[this.platform] = true;

    this.v = this.version;

 

    if (this.safari && this.mac && this.mozilla) {

        this.mozilla = false;

    }

};

 

spry.is = new spry.browsersniff();

 

// constructor menu bar

// element should id of unordered list (<ul> tag)

// preloadimage1 , preloadimage2 images rollover state of menu

spry.widget.menubar = function(element, opts)

{

    this.init(element, opts);

};

 

spry.widget.menubar.prototype.init = function(element, opts)

{

    this.element = this.getelement(element);

 

    // represents current (sub)menu operating on

    this.currmenu = null;

    this.showdelay = 250;

    this.hidedelay = 600;

    if(typeof document.getelementbyid == 'undefined' || (navigator.vendor == 'apple computer, inc.' && typeof window.xmlhttprequest == 'undefined') || (spry.is.ie && typeof document.uniqueid == 'undefined'))

    {

        // bail on older unsupported browsers

        return;

    }

 

    // fix ie6 css images flicker

    if (spry.is.ie && spry.is.version < 7){

        try {

            document.execcommand("backgroundimagecache", false, true);

        } catch(err) {}

    }

 

    this.upkeycode = spry.widget.menubar.key_up;

    this.downkeycode = spry.widget.menubar.key_down;

    this.leftkeycode = spry.widget.menubar.key_left;

    this.rightkeycode = spry.widget.menubar.key_right;

    this.esckeycode = spry.widget.menubar.key_esc;

 

    this.hoverclass = 'menubaritemhover';

    this.subhoverclass = 'menubaritemsubmenuhover';

    this.subvisibleclass ='menubarsubmenuvisible';

    this.hassubclass = 'menubaritemsubmenu';

    this.activeclass = 'menubaractive';

    this.isieclass = 'menubaritemie';

    this.verticalclass = 'menubarvertical';

    this.horizontalclass = 'menubarhorizontal';

    this.enablekeyboardnavigation = true;

 

    this.hasfocus = false;

    // load hover images now

    if(opts)

    {

        for(var k in opts)

        {

            if (typeof this[k] == 'undefined')

            {

                var rollover = new image;

                rollover.src = opts[k];

            }

        }

        spry.widget.menubar.setoptions(this, opts);

    }

 

    // safari doesn't support tabindex

    if (spry.is.safari)

        this.enablekeyboardnavigation = false;

 

    if(this.element)

    {

        this.currmenu = this.element;

        var items = this.element.getelementsbytagname('li');

        for(var i=0; i<items.length; i++)

        {

            if (i > 0 && this.enablekeyboardnavigation)

                items[i].getelementsbytagname('a')[0].tabindex='-1';

 

            this.initialize(items[i], element);

            if(spry.is.ie)

            {

                this.addclassname(items[i], this.isieclass);

                items[i].style.position = "static";

            }

        }

        if (this.enablekeyboardnavigation)

        {

            var self = this;

            this.addeventlistener(document, 'keydown', function(e){self.keydown(e); }, false);

        }

 

        if(spry.is.ie)

        {

            if(this.hasclassname(this.element, this.verticalclass))

            {

                this.element.style.position = "relative";

            }

            var linkitems = this.element.getelementsbytagname('a');

            for(var i=0; i<linkitems.length; i++)

            {

                linkitems[i].style.position = "relative";

            }

        }

    }

};

spry.widget.menubar.key_esc = 27;

spry.widget.menubar.key_up = 38;

spry.widget.menubar.key_down = 40;

spry.widget.menubar.key_left = 37;

spry.widget.menubar.key_right = 39;

 

spry.widget.menubar.prototype.getelement = function(ele)

{

    if (ele && typeof ele == "string")

        return document.getelementbyid(ele);

    return ele;

};

 

spry.widget.menubar.prototype.hasclassname = function(ele, classname)

{

    if (!ele || !classname || !ele.classname || ele.classname.search(new regexp("\\b" + classname + "\\b")) == -1)

    {

        return false;

    }

    return true;

};

 

spry.widget.menubar.prototype.addclassname = function(ele, classname)

{

    if (!ele || !classname || this.hasclassname(ele, classname))

        return;

    ele.classname += (ele.classname ? " " : "") + classname;

};

 

spry.widget.menubar.prototype.removeclassname = function(ele, classname)

{

    if (!ele || !classname || !this.hasclassname(ele, classname))

        return;

    ele.classname = ele.classname.replace(new regexp("\\s*\\b" + classname + "\\b", "g"), "");

};

 

// addeventlistener menu bar

// attach event tag without creating obtrusive html code

spry.widget.menubar.prototype.addeventlistener = function(element, eventtype, handler, capture)

{

    try

    {

        if (element.addeventlistener)

        {

            element.addeventlistener(eventtype, handler, capture);

        }

        else if (element.attachevent)

        {

            element.attachevent('on' + eventtype, handler);

        }

    }

    catch (e) {}

};

 

// createiframelayer menu bar

// creates iframe underneath menu show above form controls , activex

spry.widget.menubar.prototype.createiframelayer = function(menu)

{

    var layer = document.createelement('iframe');

    layer.tabindex = '-1';

    layer.src = 'javascript:""';

    layer.frameborder = '0';

    layer.scrolling = 'no';

    menu.parentnode.appendchild(layer);

 

    layer.style.left = menu.offsetleft + 'px';

    layer.style.top = menu.offsettop + 'px';

    layer.style.width = menu.offsetwidth + 'px';

    layer.style.height = menu.offsetheight + 'px';

};

 

// removeiframelayer menu bar

// removes iframe underneath menu reveal form controls , activex

spry.widget.menubar.prototype.removeiframelayer =  function(menu)

{

    var layers = ((menu == this.element) ? menu : menu.parentnode).getelementsbytagname('iframe');

    while(layers.length > 0)

    {

        layers[0].parentnode.removechild(layers[0]);

    }

};

 

// clearmenus menu bar

// root top level unordered list (<ul> tag)

spry.widget.menubar.prototype.clearmenus = function(root)

{

    var menus = root.getelementsbytagname('ul');

    for(var i=0; i<menus.length; i++)

        this.hidesubmenu(menus[i]);

 

    this.removeclassname(this.element, this.activeclass);

};

 

// bubbledtextevent menu bar

// identify bubbled text events in safari can ignore them

spry.widget.menubar.prototype.bubbledtextevent = function()

{

    return spry.is.safari && (event.target == event.relatedtarget.parentnode || (event.eventphase == 3 && event.target.parentnode == event.relatedtarget));

};

 

// showsubmenu menu bar

// set proper css class on menu show it

spry.widget.menubar.prototype.showsubmenu = function(menu)

{

    if(this.currmenu)

    {

        this.clearmenus(this.currmenu);

        this.currmenu = null;

    }

 

    if(menu)

    {

        this.addclassname(menu, this.subvisibleclass);

        if(typeof document.all != 'undefined' && !spry.is.opera && navigator.vendor != 'kde')

        {

            if(!this.hasclassname(this.element, this.horizontalclass) || menu.parentnode.parentnode != this.element)

            {

                menu.style.top = menu.parentnode.offsettop + 'px';

            }

        }

        if(spry.is.ie && spry.is.version < 7)

        {

            this.createiframelayer(menu);

        }

    }

    this.addclassname(this.element, this.activeclass);

};

 

// hidesubmenu menu bar

// remove proper css class on menu hide it

spry.widget.menubar.prototype.hidesubmenu = function(menu)

{

    if(menu)

    {

        this.removeclassname(menu, this.subvisibleclass);

        if(typeof document.all != 'undefined' && !spry.is.opera && navigator.vendor != 'kde')

        {

            menu.style.top = '';

            menu.style.left = '';

        }

        if(spry.is.ie && spry.is.version < 7)

            this.removeiframelayer(menu);

    }

};

 

// initialize menu bar

// create event listeners menu bar widget can properly

// show , hide submenus

spry.widget.menubar.prototype.initialize = function(listitem, element)

{

    var opentime, closetime;

    var link = listitem.getelementsbytagname('a')[0];

    var submenus = listitem.getelementsbytagname('ul');

    var menu = (submenus.length > 0 ? submenus[0] : null);

 

    if(menu)

        this.addclassname(link, this.hassubclass);

 

    if(!spry.is.ie)

    {

        // define simple function comes standard in ie determine

        // if node within node

        listitem.contains = function(testnode)

        {

            // refers list item

            if(testnode == null)

                return false;

 

            if(testnode == this)

                return true;

            else

                return this.contains(testnode.parentnode);

        };

    }

 

    // need save scope further down

    var self = this;

    this.addeventlistener(listitem, 'mouseover', function(e){self.mouseover(listitem, e);}, false);

    this.addeventlistener(listitem, 'mouseout', function(e){if (self.enablekeyboardnavigation) self.clearselection(); self.mouseout(listitem, e);}, false);

 

    if (this.enablekeyboardnavigation)

    {

        this.addeventlistener(link, 'blur', function(e){self.onblur(listitem);}, false);

        this.addeventlistener(link, 'focus', function(e){self.keyfocus(listitem, e);}, false);

    }

};

spry.widget.menubar.prototype.keyfocus = function (listitem, e)

{

    this.lastopen = listitem.getelementsbytagname('a')[0];

    this.addclassname(this.lastopen, listitem.getelementsbytagname('ul').length > 0 ? this.subhoverclass : this.hoverclass);

    this.hasfocus = true;

};

spry.widget.menubar.prototype.onblur = function (listitem)

{

    this.clearselection(listitem);

};

spry.widget.menubar.prototype.clearselection = function(el){

    //search intersection current open element

    if (!this.lastopen)

        return;

 

    if (el)

    {

        el = el.getelementsbytagname('a')[0];

 

        // check children

        var item = this.lastopen;

        while (item != this.element)

        {

            var tmp = el;

            while (tmp != this.element)

            {

                if (tmp == item)

                    return;

                try{

                    tmp = tmp.parentnode;

                }catch(err){break;}

            }

            item = item.parentnode;

        }

    }

    var item = this.lastopen;

    while (item != this.element)

    {

        this.hidesubmenu(item.parentnode);

        var link = item.getelementsbytagname('a')[0];

        this.removeclassname(link, this.hoverclass);

        this.removeclassname(link, this.subhoverclass);

        item = item.parentnode;

    }

    this.lastopen = false;

};

spry.widget.menubar.prototype.keydown = function (e)

{

    if (!this.hasfocus)

        return;

 

    if (!this.lastopen)

    {

        this.hasfocus = false;

        return;

    }

 

    var e = e|| event;

    var listitem = this.lastopen.parentnode;

    var link = this.lastopen;

    var submenus = listitem.getelementsbytagname('ul');

    var menu = (submenus.length > 0 ? submenus[0] : null);

    var hassubmenu = (menu) ? true : false;

 

    var opts = [listitem, menu, null, this.getsibling(listitem, 'previoussibling'), this.getsibling(listitem, 'nextsibling')];

 

    if (!opts[3])

        opts[2] = (listitem.parentnode.parentnode.nodename.tolowercase() == 'li')?listitem.parentnode.parentnode:null;

 

    var found = 0;

    switch (e.keycode){

        case this.upkeycode:

            found = this.getelementforkey(opts, 'y', 1);

            break;

        case this.downkeycode:

            found = this.getelementforkey(opts, 'y', -1);

            break;

        case this.leftkeycode:

            found = this.getelementforkey(opts, 'x', 1);

            break;

        case this.rightkeycode:

            found = this.getelementforkey(opts, 'x', -1);

            break;

        case this.esckeycode:

        case 9:

            this.clearselection();

            this.hasfocus = false;

        default: return;

    }

    switch (found)

    {

        case 0: return;

        case 1:

            //subopts

            this.mouseover(listitem, e);

            break;

        case 2:

            //parent

            this.mouseout(opts[2], e);

            break;

        case 3:

        case 4:

            // left - right

            this.removeclassname(link, hassubmenu ? this.subhoverclass : this.hoverclass);

            break;

    }

    var link = opts[found].getelementsbytagname('a')[0];

    if (opts[found].nodename.tolowercase() == 'ul')

        opts[found] = opts[found].getelementsbytagname('li')[0];

 

    this.addclassname(link, opts[found].getelementsbytagname('ul').length > 0 ? this.subhoverclass : this.hoverclass);

    this.lastopen = link;

    opts[found].getelementsbytagname('a')[0].focus();

 

        //stop further event handling browser

    return spry.widget.menubar.stoppropagation(e);

};

spry.widget.menubar.prototype.mouseover = function (listitem, e)

{

    var link = listitem.getelementsbytagname('a')[0];

    var submenus = listitem.getelementsbytagname('ul');

    var menu = (submenus.length > 0 ? submenus[0] : null);

    var hassubmenu = (menu) ? true : false;

    if (this.enablekeyboardnavigation)

        this.clearselection(listitem);

 

    if(this.bubbledtextevent())

    {

        // ignore bubbled text events

        return;

    }

 

    if (listitem.closetime)

        cleartimeout(listitem.closetime);

 

    if(this.currmenu == listitem)

    {

        this.currmenu = null;

    }

 

    // move focus too

    if (this.hasfocus)

        link.focus();

 

    // show menu highlighting

    this.addclassname(link, hassubmenu ? this.subhoverclass : this.hoverclass);

    this.lastopen = link;

    if(menu && !this.hasclassname(menu, this.subhoverclass))

    {

        var self = this;

        listitem.opentime = window.settimeout(function(){self.showsubmenu(menu);}, this.showdelay);

    }

};

spry.widget.menubar.prototype.mouseout = function (listitem, e)

{

    var link = listitem.getelementsbytagname('a')[0];

    var submenus = listitem.getelementsbytagname('ul');

    var menu = (submenus.length > 0 ? submenus[0] : null);

    var hassubmenu = (menu) ? true : false;

    if(this.bubbledtextevent())

    {

        // ignore bubbled text events

        return;

    }

 

    var related = (typeof e.relatedtarget != 'undefined' ? e.relatedtarget : e.toelement);

    if(!listitem.contains(related))

    {

        if (listitem.opentime)

            cleartimeout(listitem.opentime);

        this.currmenu = listitem;

 

        // remove menu highlighting

        this.removeclassname(link, hassubmenu ? this.subhoverclass : this.hoverclass);

        if(menu)

        {

            var self = this;

            listitem.closetime = window.settimeout(function(){self.hidesubmenu(menu);}, this.hidedelay);

        }

        if (this.hasfocus)

            link.blur();

    }

};

spry.widget.menubar.prototype.getsibling = function(element, sibling)

{

    var child = element[sibling];

    while (child && child.nodename.tolowercase() !='li')

        child = child[sibling];

 

    return child;

};

spry.widget.menubar.prototype.getelementforkey = function(els, prop, dir)

{

    var found = 0;

    var rect = spry.widget.menubar.getposition;

    var ref = rect(els[found]);

 

    var hidesubmenu = false;

    //make subelement visible compute position

    if (els[1] && !this.hasclassname(els[1], this.menubarsubmenuvisible))

    {

        els[1].style.visibility = 'hidden';

        this.showsubmenu(els[1]);

        hidesubmenu = true;

    }

 

    var isvert = this.hasclassname(this.element, this.verticalclass);

    var hasparent = els[0].parentnode.parentnode.nodename.tolowercase() == 'li' ? true : false;

 

    (var = 1; < els.length; i++){

        //when navigating on y axis in vertical menus, ignore children , parents

        if(prop=='y' && isvert && (i==1 || i==2))

        {

            continue;

        }

        //when navigationg on x axis in first level of horizontal menus, ignore children , parents

        if(prop=='x' && !isvert && !hasparent && (i==1 || i==2))

        {

            continue;

        }

 

        if (els[i])

        {

            var tmp = rect(els[i]);

            if ( (dir * tmp[prop]) < (dir * ref[prop]))

            {

                ref = tmp;

                found = i;

            }

        }

    }

 

    // hide submenu

    if (els[1] && hidesubmenu){

        this.hidesubmenu(els[1]);

        els[1].style.visibility =  '';

    }

 

    return found;

};

spry.widget.menubar.camelize = function(str)

{

    if (str.indexof('-') == -1){

        return str;   

    }

    var ostringlist = str.split('-');

    var isfirstentry = true;

    var camelizedstring = '';

 

    for(var i=0; < ostringlist.length; i++)

    {

        if(ostringlist[i].length>0)

        {

            if(isfirstentry)

            {

                camelizedstring = ostringlist[i];

                isfirstentry = false;

            }

            else

            {

                var s = ostringlist[i];

                camelizedstring += s.charat(0).touppercase() + s.substring(1);

            }

        }

    }

 

    return camelizedstring;

};

 

spry.widget.menubar.getstyleprop = function(element, prop)

{

    var value;

    try

    {

        if (element.style)

            value = element.style[spry.widget.menubar.camelize(prop)];

 

        if (!value)

            if (document.defaultview && document.defaultview.getcomputedstyle)

            {

                var css = document.defaultview.getcomputedstyle(element, null);

                value = css ? css.getpropertyvalue(prop) : null;

            }

            else if (element.currentstyle)

            {

                    value = element.currentstyle[spry.widget.menubar.camelize(prop)];

            }

    }

    catch (e) {}

 

    return value == 'auto' ? null : value;

};

spry.widget.menubar.getintprop = function(element, prop)

{

    var = parseint(spry.widget.menubar.getstyleprop(element, prop),10);

    if (isnan(a))

        return 0;

    return a;

};

 

spry.widget.menubar.getposition = function(el, doc)

{

    doc = doc || document;

    if (typeof(el) == 'string') {

        el = doc.getelementbyid(el);

    }

 

    if (!el) {

        return false;

    }

 

    if (el.parentnode === null || spry.widget.menubar.getstyleprop(el, 'display') == 'none') {

        //element must visible have box

        return false;

    }

 

    var ret = {x:0, y:0};

    var parent = null;

    var box;

 

    if (el.getboundingclientrect) { // ie

        box = el.getboundingclientrect();

        var scrolltop = doc.documentelement.scrolltop || doc.body.scrolltop;

        var scrollleft = doc.documentelement.scrollleft || doc.body.scrollleft;

        ret.x = box.left + scrollleft;

        ret.y = box.top + scrolltop;

    } else if (doc.getboxobjectfor) { // gecko

        box = doc.getboxobjectfor(el);

        ret.x = box.x;

        ret.y = box.y;

    } else { // safari/opera

        ret.x = el.offsetleft;

        ret.y = el.offsettop;

        parent = el.offsetparent;

        if (parent != el) {

            while (parent) {

                ret.x += parent.offsetleft;

                ret.y += parent.offsettop;

                parent = parent.offsetparent;

            }

        }

        // opera & (safari absolute) incorrectly account body offsettop

        if (spry.is.opera || spry.is.safari && spry.widget.menubar.getstyleprop(el, 'position') == 'absolute')

            ret.y -= doc.body.offsettop;

    }

    if (el.parentnode)

            parent = el.parentnode;

    else

        parent = null;

    if (parent.nodename){

        var cas = parent.nodename.touppercase();

        while (parent && cas != 'body' && cas != 'html') {

            cas = parent.nodename.touppercase();

            ret.x -= parent.scrollleft;

            ret.y -= parent.scrolltop;

            if (parent.parentnode)

                parent = parent.parentnode;

            else

                parent = null;

        }

    }

    return ret;

};

 

spry.widget.menubar.stoppropagation = function(ev)

{

    if (ev.stoppropagation)

        ev.stoppropagation();

    else

        ev.cancelbubble = true;

    if (ev.preventdefault)

        ev.preventdefault();

    else

        ev.returnvalue = false;

};

 

spry.widget.menubar.setoptions = function(obj, optionsobj, ignoreundefinedprops)

{

    if (!optionsobj)

        return;

    (var optionname in optionsobj)

    {

        if (ignoreundefinedprops && optionsobj[optionname] == undefined)

            continue;

        obj[optionname] = optionsobj[optionname];

    }

};

 

})(); // endsprycomponent

 

__________________________________________________________________________

 

if possibly steer me on right direction this, i'd grateful! i've been struggling month , feel may have made situation worse.

 

i'm not sure if have keep making new spry assets folder in website or not or if have drag , drop spry assets root folder. have restarted website on @ least dozen times now. have tried changing folders, dragging , dropping various spry assets folders everywhere , have uninstalled , reinstalled copy of dreamweaver cs5 in hopes of getting spry horizontal menu bar act normal. new @ dreamweaver , really, need this.

 

thanks!

hello,

 

please send link website in question (no matter how looks like), can better analyze.

 

hans-günter



More discussions in Dreamweaver support forum


adobe

Comments

Popular posts from this blog

How to change text Component easybook reloaded *newbee* - Joomla! Forum - community, help and support

After Effect warning: A problem occurred when processing OpenGL commands

Preconditions Failed. - Joomla! Forum - community, help and support