Results 1 to 5 of 5

Thread: second level contents on the DD Tab Menu keep disappearing?!

  1. #1
    Join Date
    Dec 2011
    Posts
    3
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default second level contents on the DD Tab Menu keep disappearing?!

    1) Script Title:
    DD Tab Menu

    2) Script URL (on DD):
    http://www.dynamicdrive.com/dynamicindex1/ddtabmenu.htm

    3) Describe problem:
    I'm trying to use background images for the tabs, but when I add the images to the css the second level contents disappear. Below is a link to a test page I'm using to show the issue. The top example shows how it's supposed to work with the second level contents, and the bottom shows what happens one the images are added.

    http://www.vintagebankks.com/test-nav.html

    Here is the css I'm using:

    Code:
    .solidblockmenu ul{ float:left; width:710px; margin:6px 0 0 260px; padding:15px 25px 0 30px;  }
    
    .solidblockmenu li { display: inline; }
    
    .solidblockmenu li a{ float: left; color: #006993; padding: 9px 11px; text-decoration: none; background-position: 0 -45px; height: 25px; display: block; text-indent: -999em;}
    
    .solidblockmenu li a:hover, .solidblockmenu li a.current{ color: #00adee; background-position: 0 0;}
    
    .solidblockmenu li a.personal	{ background-image: url(http://www.vintagebankks.com/images/nav/personal-banking.gif); width: 138px; }
    .solidblockmenu li a.smbusiness	{ background-image: url(http://www.vintagebankks.com/images/nav/small-business-banking.gif); width: 194px;}
    .solidblockmenu li a.commercial	{ background-image: url(http://www.vintagebankks.com/images/nav/commercial-banking.gif); width: 156px; }
    
    .tabcontainer{
    clear: left;
    width:1026px; /*width of 2nd level sub menus*/
    height:27px; /*height of 2nd level sub menus. Set to largest's sub menu's height to avoid jittering.*/
    background: url(http://www.vintagebankks.com/images/sub-nav-repeat.jpg) top repeat-x; text-align:center;
    padding:8px 0 0 0; 
    }
    
    *:first-child+html .ieclass{ /*IE7 hack to remove gap between menu and sub contents*/
    margin-top: -1em;
    }
    
    * html .ieclass{ /*IE6 and below hack to remove gap between menu and sub contents*/
    margin-top: -1em;
    }
    
    .tabcontent 	{ display:none; color:#FFF; font-size: .85em; font-family: proxima-nova, sans-serif; font-weight: 300; line-height: 20px; letter-spacing:.06em; }
    .tabcontent ul 	{ margin:0; padding:0; display:inline; }
    .tabcontent ul li { margin:0; padding:1px 10px 0 15px; list-style:none; display:inline; color:#FFF; border-left: 1px solid #003f67; }
    .tabcontent li:first-child { margin-left: 0; border-left: none; list-style: none; display: inline; }
    .tabcontent li a, a:visited 		{ margin:0; padding:0; list-style:none; color:#FFF; text-decoration:none; }
    .tabcontent li a:hover, a:active 	{ margin:0; padding:0; list-style:none; color:#cceffc; text-decoration:none; }
    Here is my html:
    Code:
    <div id="header">
    <div id="ddtabs3" class="solidblockmenu">
    <ul><img src="/images/what-are-you-looking-for.png" alt="What are you looking for today?" width="153" height="23" align="left" class="looking" />
    <li><a href="/personal-banking/personal-info.htm" rel="sb1" title="PERSONAL" class="personal" >Personal</a></li>
    <li><a href="/small-business-banking/small-business-info.htm" rel="sb2" title="SMALL BUSINESS" class="smbusiness" >Small Business</a></li>
    <li><a href="/commercial-banking/commercial-info.htm" rel="sb3" title="COMMERCIAL" class="commercial" >Commercial</a></li>
    </ul>
    </div>
        <!-- END HEADER -->
      </div>
      <DIV class="tabcontainer ieclass">
    
    <div id="sb1" class="tabcontent">
    <ul>
    <li><a href="/personal-banking/checking-solutions.htm ">CHECKING SOLUTIONS</a></li>
    <li><a href="/personal-banking/saving-solutions.htm">SAVING SOLUTIONS</a></li>
    <li><a href="/personal-banking/loan-solutions.htm">LOAN SOLUTIONS</a></li>
    <li><a href="/personal-banking/convenience.htm">CONVENIENCE</a></li>
    <li><a href="/personal-banking/online-services.htm">ONLINE SERVICES</a></li>
    <!--<li><a href="/personal-banking/special-programs.htm">SPECIAL PROGRAMS</a></li>-->
    </ul>
    </div>
    
    <div id="sb2" class="tabcontent"> 
    <ul>
    <li><a href="/small-business-banking/checking-solutions.htm">CHECKING SOLUTIONS</a></li>
    <!--<li><a href="/small-business-banking/cash-management.htm">CASH MANAGEMENT</a></li>-->
    <li><a href="/small-business-banking/credit-lending.htm">CREDIT &amp; LENDING</a></li>
    <li><a href="/small-business-banking/convenience.htm">CONVENIENCE</a></li>
    <li><a href="/small-business-banking/online-services.htm">ONLINE SERVICES</a></li>
    <!--<li><a href="/small-business-banking/special-programs.htm">SPECIAL PROGRAMS</a></li>-->
    </ul>
    </div>
    
    <div id="sb3" class="tabcontent">
    <ul>
    <li><a href="/commercial-banking/checking-solutions.htm ">CHECKING SOLUTIONS</a></li>
    <!--<li><a href="/commercial-banking/cash-management.htm">CASH MANAGEMENT</a></li>-->
    <li><a href="/commercial-banking/credit-lending.htm">CREDIT &amp; LENDING</a></li>
    <li><a href="/commercial-banking/convenience.htm">CONVENIENCE</a></li>
    <li><a href="/commercial-banking/online-services.htm">ONLINE SERVICES</a></li>
    <!--<li><a href="/commercial/special-programs.htm">SPECIAL PROGRAMS</a></li>-->
    </ul>
    </div>
    
    </DIV>
    Any help would be greatly appreciated!

  2. #2
    Join Date
    Dec 2008
    Location
    Portsmouth, UK
    Posts
    1,891
    Thanks
    2
    Thanked 441 Times in 435 Posts

    Default

    the original script changes class names

    this version only changes class names if a class name does not already exist

    Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <!-- BC_OBNW -->
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Untitled Document</title>
    <link href="http://www.vintagebankks.com/StyleSheets/ModuleStyleSheets.css" type="text/css" rel="StyleSheet" />
    <script type="text/javascript">var jslang='EN';</script>
    <link href="http://www.vintagebankks.com/stylesheets/solidblocksmenu.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript" >
    
    /***********************************************
    * DD Tab Menu script- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
    * This notice MUST stay intact for legal use
    * Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
    **********************************************/
    
    //DD Tab Menu- Script rewritten April 27th, 07: http://www.dynamicdrive.com
    //**Updated Feb 23rd, 08): Adds ability for menu to revert back to default selected tab when mouse moves out of menu
    
    //Only 2 configuration variables below:
    
    var ddtabmenu={
    	disabletablinks: false, //Disable hyperlinks in 1st level tabs with sub contents (true or false)?
    	snap2original: [true, 300], //Should tab revert back to default selected when mouse moves out of menu? ([true/false, delay_millisec]
    
    	currentpageurl: window.location.href.replace("http://"+window.location.hostname, "").replace(/^\//, ""), //get current page url (minus hostname, ie: http://www.dynamicdrive.com/)
    
    definemenu:function(tabid, dselected){
    	this[tabid+"-menuitems"]=null
    	this[tabid+"-dselected"]=-1
    	this.addEvent(window, function(){ddtabmenu.init(tabid, dselected)}, "load")
    },
    
    showsubmenu:function(tabid, targetitem){
    	var menuitems=this[tabid+"-menuitems"]
    	this.clearrevert2default(tabid)
     for (i=0; i<menuitems.length; i++){
           if (!menuitems[i].cls){
     		menuitems[i].className=""
    	   }
           	if (typeof menuitems[i].hasSubContent!="undefined")
    			document.getElementById(menuitems[i].getAttribute("rel")).style.display="none"
    	}
        if (!targetitem.cls){
       	targetitem.className="current"
    	}
        if (typeof targetitem.hasSubContent!="undefined")
    		document.getElementById(targetitem.getAttribute("rel")).style.display="block"
    },
    
    isSelected:function(menuurl){
    	var menuurl=menuurl.replace("http://"+menuurl.hostname, "").replace(/^\//, "")
    	return (ddtabmenu.currentpageurl==menuurl)
    },
    
    isContained:function(m, e){
    	var e=window.event || e
    	var c=e.relatedTarget || ((e.type=="mouseover")? e.fromElement : e.toElement)
    	while (c && c!=m)try {c=c.parentNode} catch(e){c=m}
    	if (c==m)
    		return true
    	else
    		return false
    },
    
    revert2default:function(outobj, tabid, e){
    	if (!ddtabmenu.isContained(outobj, tabid, e)){
    		window["hidetimer_"+tabid]=setTimeout(function(){
    			ddtabmenu.showsubmenu(tabid, ddtabmenu[tabid+"-dselected"])
    		}, ddtabmenu.snap2original[1])
    	}
    },
    
    clearrevert2default:function(tabid){
     if (typeof window["hidetimer_"+tabid]!="undefined")
    		clearTimeout(window["hidetimer_"+tabid])
    },
    
    addEvent:function(target, functionref, tasktype){ //assign a function to execute to an event handler (ie: onunload)
    	var tasktype=(window.addEventListener)? tasktype : "on"+tasktype
    	if (target.addEventListener)
    		target.addEventListener(tasktype, functionref, false)
    	else if (target.attachEvent)
    		target.attachEvent(tasktype, functionref)
    },
    
    init:function(tabid, dselected){
     var menuitems=document.getElementById(tabid).getElementsByTagName("a")
     this[tabid+"-menuitems"]=menuitems;
      for (var x=0; x<menuitems.length; x++){
       menuitems[x].cls=menuitems[x].className;
       if (menuitems[x].getAttribute("rel")){
    	this[tabid+"-menuitems"][x].hasSubContent=true
    	if (ddtabmenu.disabletablinks){
    	 menuitems[x].onclick=function(){return false}
    	}
        if (ddtabmenu.snap2original[0]==true){
    	 var submenu=document.getElementById(menuitems[x].getAttribute("rel"))
    	 menuitems[x].onmouseout=function(e){ddtabmenu.revert2default(submenu, tabid, e)}
    	 submenu.onmouseover=function(){ddtabmenu.clearrevert2default(tabid)}
    	 submenu.onmouseout=function(e){ddtabmenu.revert2default(this, tabid, e)}
    	}
       }
       else {//for items without a submenu, add onMouseout effect
    	menuitems[x].onmouseout=function(e){if (!this.cls){this.className=""; } if (ddtabmenu.snap2original[0]==true) ddtabmenu.revert2default(this, tabid, e)}
       }
       menuitems[x].onmouseover=function(){
       ddtabmenu.showsubmenu(tabid, this)
      }
     }
      for (var x=0; x<menuitems.length; x++){
      if (dselected=="auto" && typeof setalready=="undefined" && this.isSelected(menuitems[x].href)){
    			ddtabmenu.showsubmenu(tabid, menuitems[x])
       this[tabid+"-dselected"]=menuitems[x]
       var setalready=true
      }
      else if (parseInt(dselected)==x){
    			ddtabmenu.showsubmenu(tabid, menuitems[x])
       this[tabid+"-dselected"]=menuitems[x]
      }
      }
    }
    
    }
    </script>
    <script type="text/javascript">
    //SYNTAX: ddtabmenu.definemenu("tab_menu_id", integer OR "auto")
    ddtabmenu.definemenu("ddtabs4", 0) //initialize Tab Menu #3 with 2nd tab selected
    
    </script>
    </head>
    <body>
    
    
    
    
    
    
    <br /><br /><br />
    
    <div id="header">
    <div id="ddtabs4" class="solidblockmenu">
    <ul>
    <li><a href="http://www.vintagebankks.com/personal-banking/personal-info.htm" rel="sb1" title="PERSONAL" class="personal">Personal</a></li>
    <li><a href="http://www.vintagebankks.com/small-business-banking/small-business-info.htm" rel="sb2" title="SMALL BUSINESS" class="smbusiness">Small Business</a></li>
    <li><a href="http://www.vintagebankks.com/commercial-banking/commercial-info.htm" rel="sb3" title="COMMERCIAL" class="commercial" >Commercial</a></li>
    
    </ul>
    </div>
        <!-- END HEADER -->
      </div>
      <div class="tabcontainer ieclass">
    
    <div id="sb1" class="tabcontent">
    <ul>
    <li><a href="http://www.vintagebankks.com/personal-banking/checking-solutions.htm ">CHECKING SOLUTIONS</a></li>
    <li><a href="http://www.vintagebankks.com/personal-banking/saving-solutions.htm">SAVING SOLUTIONS</a></li>
    <li><a href="http://www.vintagebankks.com/personal-banking/loan-solutions.htm">LOAN SOLUTIONS</a></li>
    
    <li><a href="http://www.vintagebankks.com/personal-banking/convenience.htm">CONVENIENCE</a></li>
    <li><a href="http://www.vintagebankks.com/personal-banking/online-services.htm">ONLINE SERVICES</a></li>
    <!--<li><a href="http://www.vintagebankks.com/personal-banking/special-programs.htm">SPECIAL PROGRAMS</a></li>-->
    </ul>
    </div>
    
    <div id="sb2" class="tabcontent">
    <ul>
    <li><a href="http://www.vintagebankks.com/small-business-banking/checking-solutions.htm">CHECKING SOLUTIONS</a></li>
    <!--<li><a href="http://www.vintagebankks.com/small-business-banking/cash-management.htm">CASH MANAGEMENT</a></li>-->
    <li><a href="http://www.vintagebankks.com/small-business-banking/credit-lending.htm">CREDIT &amp; LENDING</a></li>
    
    <li><a href="http://www.vintagebankks.com/small-business-banking/convenience.htm">CONVENIENCE</a></li>
    <li><a href="http://www.vintagebankks.com/small-business-banking/online-services.htm">ONLINE SERVICES</a></li>
    <!--<li><a href="http://www.vintagebankks.com/small-business-banking/special-programs.htm">SPECIAL PROGRAMS</a></li>-->
    </ul>
    </div>
    
    <div id="sb3" class="tabcontent">
    <ul>
    <li><a href="http://www.vintagebankks.com/commercial-banking/checking-solutions.htm ">CHECKING SOLUTIONS</a></li>
    <!--<li><a href="http://www.vintagebankks.com/commercial-banking/cash-management.htm">CASH MANAGEMENT</a></li>-->
    <li><a href="http://www.vintagebankks.com/commercial-banking/credit-lending.htm">CREDIT &amp; LENDING</a></li>
    
    <li><a href="http://www.vintagebankks.com/commercial-banking/convenience.htm">CONVENIENCE</a></li>
    <li><a href="http://www.vintagebankks.com/commercial-banking/online-services.htm">ONLINE SERVICES 2</a></li>
    <!--<li><a href="http://www.vintagebankks.com/commercial/special-programs.htm">SPECIAL PROGRAMS</a></li>-->
    </ul>
    </div>
    
    </div>
    
    
    
    
    
    </body>
    </html>
    Vic
    God Loves You and will never love you less.
    http://www.vicsjavascripts.org/Home.htm
    If my post has been useful please donate to http://www.operationsmile.org.uk/

  3. #3
    Join Date
    Dec 2011
    Posts
    3
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default Resolved!

    Thanks so much for your help! That took care of it!

  4. #4
    Join Date
    Dec 2011
    Posts
    3
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default

    I do have one more question though. How can I customize the active states of the main tabs? Ideally, this is how I'd like for it to work:

    I have three folders set up for each of the banking sections: personal, small business, commercial. Whenever someone is on a page outside of these sections I'd like for the PERSONAL tab to be in it's roll over state.

    Then whenever someone is on a page within any of those folders I'd like for the corresponding tab to be in it's rollover state. For example, if they are on the Small Business online services page, the SMALL BUSINESS tab would be in it's rollover state.

    Is this possible to set within the javascript?

  5. #5
    Join Date
    Dec 2008
    Location
    Portsmouth, UK
    Posts
    1,891
    Thanks
    2
    Thanked 441 Times in 435 Posts

    Default

    Code:
    ddtabmenu.definemenu("ddtabs4", 0) //initialize Tab Menu ddtabs4 with 1st tab selected
    change the second parameter
    Vic
    God Loves You and will never love you less.
    http://www.vicsjavascripts.org/Home.htm
    If my post has been useful please donate to http://www.operationsmile.org.uk/

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •