Jump to content

[SOLVED] Tab menu help


cordoprod

Recommended Posts

Hello.

 

I found a tab menu on dynamic drive which i liked pretty much. I just want to add a few things.

 

I would like if  i could set which tab who would be default.

 

Now sc1 is always default..

 

Here is the 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++){
	menuitems[i].className=""
	if (typeof menuitems[i].hasSubContent!="undefined")
		document.getElementById(menuitems[i].getAttribute("rel")).style.display="none"
}
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++){
	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){this.className=""; if (ddtabmenu.snap2original[0]==true) ddtabmenu.revert2default(this, tabid, e)}
	menuitems[x].onmouseover=function(){ddtabmenu.showsubmenu(tabid, this)}
	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]
	}
}
}
}

 

If you need more info check here:

http://www.dynamicdrive.com/dynamicindex1/ddtabmenu.htm

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.