I need help in connecting the main menu right bottom border to the sub menu border and also the left border not connecting to main menu.
Here is my css,html and javascript code used and I am attaching the javascript file also.
.bluetabs{ } .bluetabs ul{ padding: 3px 0; margin-left: 0; margin-top: 1px; margin-bottom: 0; font: bold 12px Verdana; list-style-type: none; text-align: left; /*set to left, center, or right to align the menu as desired*/ }
.bluetabs li{ display: inline; margin: 0; }
.bluetabs li a{ text-decoration: none; padding: 3px 7px; margin-right: 3px; border: 1px solid #000; color: #2d2b2b; background: white url(media/bluetab.gif) top left repeat-x; /*THEME CHANGE HERE*/ }
.bluetabs li a:visited{ color: #2d2b2b; }
.bluetabs li a:hover{ text-decoration: underline; color: #2d2b2b; }
<!--3rd drop down menu --> <div id=\"dropmenu3_b\" class=\"menudropdown\"> <TABLE width=\"100%\"> <TR> <TD><a href=\"javascript:void(0)\">Sub Gallery for Menu</a></TD> </TR> </TABLE> </div>
<!--4th drop down menu --> <div id=\"dropmenu4_b\" class=\"menudropdown\"> <a href=\"javascript:void(0)\">Sub Services for Menu</a> </div>
<!--4th drop down menu --> <div id=\"dropmenu5_b\" class=\"menudropdown\"> <a href=\"javascript:void(0)\">Sub Contacts for Menu</a> </div>
var tabdropdown={ disappeardelay: 200, //set delay in miliseconds before menu disappears onmouseout disablemenuclick: false, //when user clicks on a menu item with a drop down menu, disable menu item's link? enableiframeshim: 1, //1 or 0, for true or false
//No need to edit beyond here//////////////////////// dropmenuobj: null, ie: document.all, firefox: document.getElementById&&!document.all, previousmenuitem:null, currentpageurl: window.location.href.replace(\"http://\"+window.location.hostname, \"\").replace(/^\//, \"\"), //get current page url (minus hostname, ie: http://www.dynamicdrive.com/)
getposOffset:function(what, offsettype){ var totaloffset=(offsettype==\"left\")? what.offsetLeft : what.offsetTop; var parentEl=what.offsetParent; while (parentEl!=null){ totaloffset=(offsettype==\"left\")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop; parentEl=parentEl.offsetParent; } return totaloffset; },
showhide:function(obj, e, obj2){ //obj refers to drop down menu, obj2 refers to tab menu item mouse is currently over if (this.ie || this.firefox) this.dropmenuobj.style.left=this.dropmenuobj.style.top=\"-500px\" if (e.type==\"click\" && obj.visibility==hidden || e.type==\"mouseover\"){ if (obj2.parentNode.className.indexOf(\"default\")==-1) //if tab isn't a default selected one obj2.parentNode.className=\"selected\" obj.visibility=\"visible\" } else if (e.type==\"click\") obj.visibility=\"hidden\" },
clearbrowseredge:function(obj, whichedge){ var edgeoffset=0 if (whichedge==\"rightedge\"){ var windowedge=this.ie && !window.opera? this.standardbody.scrollLeft+this.standardbody.clientWidth-15 : window.pageXOffset+window.innerWidth-15 this.dropmenuobj.contentmeasure=this.dropmenuobj.offsetWidth if (windowedge-this.dropmenuobj.x < this.dropmenuobj.contentmeasure) //move menu to the left? edgeoffset=this.dropmenuobj.contentmeasure-obj.offsetWidth } else{ var topedge=this.ie && !window.opera? this.standardbody.scrollTop : window.pageYOffset var windowedge=this.ie && !window.opera? this.standardbody.scrollTop+this.standardbody.clientHeight-15 : window.pageYOffset+window.innerHeight-18 this.dropmenuobj.contentmeasure=this.dropmenuobj.offsetHeight if (windowedge-this.dropmenuobj.y < this.dropmenuobj.contentmeasure){ //move up? edgeoffset=this.dropmenuobj.contentmeasure+obj.offsetHeight if ((this.dropmenuobj.y-topedge)<this.dropmenuobj.contentmeasure) //up no good either? edgeoffset=this.dropmenuobj.y+obj.offsetHeight-topedge } this.dropmenuobj.firstlink.style.borderTopWidth=(edgeoffset==0)? 0 : \"1px\" //Add 1px top border to menu if dropping up } return edgeoffset },
dropit:function(obj, e, dropmenuID){ if (this.dropmenuobj!=null){ //hide previous menu this.dropmenuobj.style.visibility=\"hidden\" //hide menu if (this.previousmenuitem!=null && this.previousmenuitem!=obj){ if (this.previousmenuitem.parentNode.className.indexOf(\"default\")==-1) //If the tab isn't a default selected one this.previousmenuitem.parentNode.className=\"\" } } this.clearhidemenu() if (this.ie||this.firefox){ obj.onmouseout=function(){tabdropdown.delayhidemenu(obj)} obj.onclick=function(){return !tabdropdown.disablemenuclick} //disable main menu item link onclick? this.dropmenuobj=document.getElementById(dropmenuID) this.dropmenuobj.onmouseover=function(){tabdropdown.clearhidemenu()} this.dropmenuobj.onmouseout=function(e){tabdropdown.dynamichide(e, obj)} this.dropmenuobj.onclick=function(){tabdropdown.delayhidemenu(obj)} this.showhide(this.dropmenuobj.style, e, obj) this.dropmenuobj.x=this.getposOffset(obj, \"left\") this.dropmenuobj.y=this.getposOffset(obj, \"top\") this.dropmenuobj.style.left=this.dropmenuobj.x-this.clearbrowseredge(obj, \"rightedge\")+\"px\" this.dropmenuobj.style.top=this.dropmenuobj.y-this.clearbrowseredge(obj, \"bottomedge\")+obj.offsetHeight+1+\"px\" this.previousmenuitem=obj //remember main menu item mouse moved out from (and into current menu item) this.positionshim() //call iframe shim function } },
contains_firefox:function(a, b) { while (b.parentNode) if ((b = b.parentNode) == a) return true; return false; },
dynamichide:function(e, obj2){ //obj2 refers to tab menu item mouse is currently over var evtobj=window.event? window.event : e if (this.ie&&!this.dropmenuobj.contains(evtobj.toElement)) this.delayhidemenu(obj2) else if (this.firefox&&e.currentTarget!= evtobj.relatedTarget&& !this.contains_firefox(evtobj.currentTarget, evtobj.relatedTarget)) this.delayhidemenu(obj2) },
delayhidemenu:function(obj2){ this.delayhide=setTimeout(function(){tabdropdown.dropmenuobj.style.visibility='hidden'; if (obj2.parentNode.className.indexOf('default')==-1) obj2.parentNode.className=''},this.disappeardelay) //hide menu },
clearhidemenu:function(){ if (this.delayhide!=\"undefined\") clearTimeout(this.delayhide) },
positionshim:function(){ //display iframe shim function if (this.enableiframeshim && typeof this.shimobject!=\"undefined\"){ if (this.dropmenuobj.style.visibility==\"visible\"){ this.shimobject.style.width=this.dropmenuobj.offsetWidth+\"px\" this.shimobject.style.height=this.dropmenuobj.offsetHeight+\"px\" this.shimobject.style.left=this.dropmenuobj.style.left this.shimobject.style.top=this.dropmenuobj.style.top } this.shimobject.style.display=(this.dropmenuobj.style.visibility==\"visible\")? \"block\" : \"none\" } },
hideshim:function(){ if (this.enableiframeshim && typeof this.shimobject!=\"undefined\") this.shimobject.style.display='none' },
isSelected:function(menuurl){ var menuurl=menuurl.replace(\"http://\"+menuurl.hostname, \"\").replace(/^\//, \"\") return (tabdropdown.currentpageurl==menuurl) },
init:function(menuid, dselected){ this.standardbody=(document.compatMode==\"CSS1Compat\")? document.documentElement : document.body //create reference to common \"body\" across doctypes var menuitems=document.getElementById(menuid).getElementsByTagName(\"a\") for (var i=0; i<menuitems.length; i++){ if (menuitems[i].getAttribute(\"rel\")){ var relvalue=menuitems[i].getAttribute(\"rel\") document.getElementById(relvalue).firstlink=document.getElementById(relvalue).getElementsByTagName(\"a\")[0] menuitems[i].onmouseover=function(e){ var event=typeof e!=\"undefined\"? e : window.event tabdropdown.dropit(this, event, this.getAttribute(\"rel\")) } } if (dselected==\"auto\" && typeof setalready==\"undefined\" && this.isSelected(menuitems[i].href)){ menuitems[i].parentNode.className+=\" selected default\" var setalready=true } else if (parseInt(dselected)==i) menuitems[i].parentNode.className+=\" selected default\" } }
By changing a bit of css I could able to get the borders around both the main and sub menu.
Is there any way I can combine both the menus and and show border around the whole.
.bluetabs{
}
.bluetabs ul{ padding: 3px 0; margin-left: 0; margin-top: 1px; margin-bottom: 0; font: bold 12px Verdana; list-style-type: none; text-align: left; /*set to left, center, or right to align the menu as desired*/ }
.bluetabs li{ display: inline; margin: 0; }
.bluetabs li a{ text-decoration: none; padding: 3px 7px; margin-right: 3px; border: 1px solid #000; color: #2d2b2b; background: white url(media/bluetab.gif) top left repeat-x; /*THEME CHANGE HERE*/ }
.bluetabs li a:visited{ color: #2d2b2b; }
.bluetabs li a:hover{ text-decoration: underline; color: #2d2b2b; }
I need help in connecting the main menu right bottom border to the sub menu border and also the left border not connecting to main menu.
Here is my css,html and javascript code used and I am attaching the javascript file also.
HTML Code
javascript code
By changing a bit of css I could able to get the borders around both the main and sub menu.
Is there any way I can combine both the menus and and show border around the whole.
So, If any one can give me a working example it would be great.
I just want it to work in the same way as www.ge.com
Thanks in advance