Tycoon Talk
Become a Big fish!
The number 1 forum for online business!
Post topics, ask questions, share your knowledge.
Tycoon Talk is part of Freelancer.com - find skilled workers online at a fraction of the cost.

CSS Forum


You are currently viewing our CSS Forum as a guest. Please register to participate.
Login



Reply
dropdown menu not working right
Old 01-27-2009, 05:03 PM dropdown menu not working right
Webmaster Talker

Posts: 611
Trades: 0
hi, i have some links at the top of my page that are supposed to have dropdowns all with different links. the problem is, as i have coded it, (i thought correctly) the menu is messed up and doesnt work right. any help greatly appreciated because i thought this menu would work with just a few tweaks. " meet the staff"(menu1) is supposed to start with "specialists", and forms and instructions. (menu2) is supposed to start with Medical HX./..." thanks. derek


here is the page im talking about.

http://derekvanderven.com/doctors_columbia/home.html

here is the code for the dropdown.

css
Code:
<style type="text/css">
.style2 {
    font-size: 13px
}
</style>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 

<style type="text/css">

#dropmenudiv{
position:absolute;
border:1px solid black;
border-bottom-width: 0;
font:normal 12px Verdana;
line-height:18px;
z-index:100;

 
}

#dropmenudiv a{
width: 100%;
display: block;
text-indent: 3px;
border-bottom: 1px solid black;
padding: 1px 0;
text-decoration: none;
font-weight: bold;
 background-color: #517e86;    /*makes background color of dropdown blue*/
}

#dropmenudiv a:hover{ /*hover background color*/
background-color: #000000;  /* makes hover color black*/
}
 
a:link {color: #ffffff;}
a:visited {color: #ffffff;}
a:hover {color: #ffffff;}
a:active {color: #ffffff;}
 
</style>
and here is the code for the dropdown

Code:
<script type="text/javascript">

/***********************************************
* AnyLink Drop Down Menu- © Dynamic Drive (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

//Contents for menu 1
var menu1=new Array()
menu1[0]='<a href="meet_the_staff.html#specialists">Specialists</a>'
menu1[1]='<a href="meet_the_staff.html#endodontist">Endodontist</a>'
menu1[2]='<a href="meet_the_staff.html#periodontist">Periodontist</a>'
menu1[3]='<a href="meet_the_staff.html#ceramist">Ceramist/Dental Technician</a>'
menu1[4]='<a href="meet_the_staff.html#hygiene">Dental Hygiene/ Preventative Dentistry Staff</a>'
menu1[5]='<a href="meet_the_staff.html#assistants">Dental Assistants</a>'
menu1[6]='<a href="meet_the_staff.html#reception">Reception/Front Desk Staff</a>'

//Contents for menu 2, and so on
var menu2=new Array()
menu1[0]='<a href="forms_instructions.html#forms">Medical Hx/Registration Form</a>'
menu1[1]='<a href="meet_the_staff.html#">Post-Periodontal Surgery Instructions</a>'
menu1[2]='<a href="meet_the_staff.html#">Post-Extraction Instructions</a>'
menu1[3]='<a href="meet_the_staff.html#">Post Root Canal Instructions</a>'
 
        
var menuwidth='165px' //default menu width
var menubgcolor='lightyellow'  //menu bgcolor
var disappeardelay=250  //menu disappear speed onMouseout (in miliseconds)
var hidemenu_onclick="yes" //hide menu when user clicks within menu?

/////No further editting needed

var ie4=document.all
var ns6=document.getElementById&&!document.all

if (ie4||ns6)
document.write('<div id="dropmenudiv" style="visibility:hidden;width:'+menuwidth+';background-color:'+menubgcolor+'" onMouseover="clearhidemenu()" onMouseout="dynamichide(event)"></div>')

function getposOffset(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;
}


function showhide(obj, e, visible, hidden, menuwidth){
if (ie4||ns6)
dropmenuobj.style.left=dropmenuobj.style.top="-500px"
if (menuwidth!=""){
dropmenuobj.widthobj=dropmenuobj.style
dropmenuobj.widthobj.width=menuwidth
}
if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover")
obj.visibility=visible
else if (e.type=="click")
obj.visibility=hidden
}

function iecompattest(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function clearbrowseredge(obj, whichedge){
var edgeoffset=0
if (whichedge=="rightedge"){
var windowedge=ie4 && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15
dropmenuobj.contentmeasure=dropmenuobj.offsetWidth
if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure)
edgeoffset=dropmenuobj.contentmeasure-obj.offsetWidth
}
else{
var topedge=ie4 && !window.opera? iecompattest().scrollTop : window.pageYOffset
var windowedge=ie4 && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18
dropmenuobj.contentmeasure=dropmenuobj.offsetHeight
if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure){ //move up?
edgeoffset=dropmenuobj.contentmeasure+obj.offsetHeight
if ((dropmenuobj.y-topedge)<dropmenuobj.contentmeasure) //up no good either?
edgeoffset=dropmenuobj.y+obj.offsetHeight-topedge
}
}
return edgeoffset
}

function populatemenu(what){
if (ie4||ns6)
dropmenuobj.innerHTML=what.join("")
}


function dropdownmenu(obj, e, menucontents, menuwidth){
if (window.event) event.cancelBubble=true
else if (e.stopPropagation) e.stopPropagation()
clearhidemenu()
dropmenuobj=document.getElementById? document.getElementById("dropmenudiv") : dropmenudiv
populatemenu(menucontents)

if (ie4||ns6){
showhide(dropmenuobj.style, e, "visible", "hidden", menuwidth)

dropmenuobj.x=getposOffset(obj, "left")
dropmenuobj.y=getposOffset(obj, "top")
dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(obj, "rightedge")+"px"
dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge")+obj.offsetHeight+"px"
}

return clickreturnvalue()
}

function clickreturnvalue(){
if (ie4||ns6) return false
else return true
}

function contains_ns6(a, b) {
while (b.parentNode)
if ((b = b.parentNode) == a)
return true;
return false;
}

function dynamichide(e){
if (ie4&&!dropmenuobj.contains(e.toElement))
delayhidemenu()
else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
delayhidemenu()
}

function hidemenu(e){
if (typeof dropmenuobj!="undefined"){
if (ie4||ns6)
dropmenuobj.style.visibility="hidden"
}
}

function delayhidemenu(){
if (ie4||ns6)
delayhide=setTimeout("hidemenu()",disappeardelay)
}

function clearhidemenu(){
if (typeof delayhide!="undefined")
clearTimeout(delayhide)
}

if (hidemenu_onclick=="yes")
document.onclick=hidemenu

</script>
<title>Dental Partners of Columbia Home</title>
</head>

<body>
<div id="container">
   <div id="header"> </div> 
   <div id="navigation"> 
            <div align="center" class="style2">
         <a href="default.htm" onClick="return clickreturnvalue()" onMouseover="dropdownmenu(this, event, menu1, '150px')" 
         onMouseout="delayhidemenu()">Meet the Staff</a> |
             <a href="default2.htm" onClick="return clickreturnvalue()" onMouseover="dropdownmenu(this, event, menu2, '150px')" 
           onMouseout="delayhidemenu()">Forms and Instructions</a> |
             <a href="default3.htm" onClick="return clickreturnvalue()" onMouseover="dropdownmenu(this, event, menu3, '150px')" 
           onMouseout="delayhidemenu()">Advanced Technologies</a> |  
             <a href="default4.htm" onClick="return clickreturnvalue()" onMouseover="dropdownmenu(this, event, menu4, '150px')" 
           onMouseout="delayhidemenu()">Smile Gallery</a> |  
             <a href="default5.htm" onClick="return clickreturnvalue()" onMouseover="dropdownmenu(this, event, menu5, '150px')" 
           onMouseout="delayhidemenu()">Contact Us</a> |  
             <a href="default6.htm" onClick="return clickreturnvalue()" onMouseover="dropdownmenu(this, event, menu6, '150px')" 
           onMouseout="delayhidemenu()">Convenience Services</a> |  
             <a href="default7.htm" onClick="return clickreturnvalue()" onMouseover="dropdownmenu(this, event, menu7, '150px')" 
           onMouseout="delayhidemenu()">Links</a> |  
             <a href="default8.htm" onClick="return clickreturnvalue()" onMouseover="dropdownmenu(this, event, menu8, '150px')" 
           onMouseout="delayhidemenu()">Press Mentions</a> |     </div>
   </div>
   <!-- end NAVIGATION-->
   
  
   
</div><!-- END CONTAINTER-->
</body>
</html>
 >
silverglade is offline
Reply With Quote
View Public Profile
 
 
Register now for full access!
Old 01-27-2009, 05:24 PM Re: dropdown menu not working right
Insensus's Avatar
Ultra Talker

Posts: 487
Name: Mark Stegeman
Location: Netherlands, Europe
Trades: 0
Here:
Code:
var menu2=new Array()
menu1[0]='<a href="forms_instructions.html#forms">Medical Hx/Registration Form</a>'
menu1[1]='<a href="meet_the_staff.html#">Post-Periodontal Surgery Instructions</a>'
menu1[2]='<a href="meet_the_staff.html#">Post-Extraction Instructions</a>'
menu1[3]='<a href="meet_the_staff.html#">Post Root Canal Instructions</a>'
You create menu 2, alright, but you repopulate menu1 instead.
__________________
<?php ($helpfull>0)?$talkupation++ : '';?>
Insensus is offline
Reply With Quote
View Public Profile
 
Old 01-27-2009, 05:32 PM Re: dropdown menu not working right
Webmaster Talker

Posts: 611
Trades: 0
i spent an hour trying to figure it out, i finally figured it out by chance. at the top of the code i was putting in "menu1" when it should have been "menu2"


here is the corrected code. sorry i figured it out again after posting. sorry about that, i try not to do it.
derek


Code:
var menu1=new Array()
menu1[0]='<a href="meet_the_staff.html#specialists">Specialists</a>'
menu1[1]='<a href="meet_the_staff.html#endodontist">Endodontist</a>'
menu1[2]='<a href="meet_the_staff.html#periodontist">Periodontist</a>'
menu1[3]='<a href="meet_the_staff.html#ceramist">Ceramist/Dental Technician</a>'
menu1[4]='<a href="meet_the_staff.html#hygiene">Dental Hygiene/ Preventative Dentistry Staff</a>'
menu1[5]='<a href="meet_the_staff.html#assistants">Dental Assistants</a>'
menu1[6]='<a href="meet_the_staff.html#reception">Reception/Front Desk Staff</a>'

//Contents for menu 2, and so on
var menu2=new Array()
menu2[0]='<a href="forms_instructions.html#forms">Medical Hx/Registration Form</a>'
menu2[1]='<a href="meet_the_staff.html#">Post-Periodontal Surgery Instructions</a>'
menu2[2]='<a href="meet_the_staff.html#">Post-Extraction Instructions</a>'
menu2[3]='<a href="meet_the_staff.html#">Post Root Canal Instructions</a>'
note how i changed it to "menu2" instead of "menu1"
silverglade is offline
Reply With Quote
View Public Profile
 
Old 01-27-2009, 05:34 PM Re: dropdown menu not working right
Webmaster Talker

Posts: 611
Trades: 0
thank you very much insensus you are a GENIUS awesome. i spent at least over an hour trying to get this menu to work right. thanks for taking the time to look at my code. derek
silverglade is offline
Reply With Quote
View Public Profile
 
Reply     « Reply to dropdown menu not working right
 

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off





   
RSS Feed  Feeds: RSS   JS   XML
RSS Feed  Feeds for this forum: RSS   JS   XML



Page generated in 0.13410 seconds with 12 queries