X96 Web Design
12-29-2009, 01:03 AM
I'm working on a dynamic tab menu (powered by jQuery) for my site. It works perfectly, but I want to make it so that it selects a certain tab depending what the hash in the URL is.
So if the URL was #contact it would select the "Contact" tab and show the associated content.
Here's what I have: [Live Demo (http://x96webdesign.uuuq.com/web_app/demo/jquery_tab_hash_select/)]
<!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" xml:lang="en" lang="en">
<head>
<title>X96 Design and Development</title>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<style type="text/css" media="screen">
body { margin:10px; padding:0; font:1em "trebuchet ms", verdana, arial, sans-serif; font-size:100%; }
h1 { margin-bottom:2px; font-family:garamond, Georgia, "times new roman", times, serif;}
div.container { margin:auto; width:800px; margin-bottom:10px;}
textarea { width:80%;}
fieldset { border:1px solid #ccc; padding:1em; margin:0; }
legend { color:#ccc; font-size:120%; }
input, textarea { font-family:arial, verdana; font-size:125%; padding:7px; border:1px solid #999; }
label { display:block; margin-top:10px; }
img { margin:5px; }
ul.tabNavigation {
list-style:none;
margin:0;
padding:0;
}
ul.tabNavigation li {
display:inline;
}
ul.tabNavigation li a {
padding:3px 15px;
background-color:#ededed;
color:#555;
text-decoration:none;
text-shadow:0 1px 0 #fff;
}
ul.tabNavigation li a:hover {
color:#000;
text-decoration:none;
}
ul.tabNavigation li a.selected, ul.tabNavigation li a.selected:hover {
background-color:#333;
color:#fff;
padding-top:7px;
text-shadow:0 -1px 0 #000;
text-decoration:none;
}
ul.tabNavigation li a:focus {
outline:0;
}
div.tabs > div {
padding:5px;
margin-top:3px;
border-top:3px solid #333;
}
div.tabs > div h2 {
margin-top:0;
}
#logo {
text-decoration:none;
background:transparent url(includes/logo.png) no-repeat scroll 0 0;
display:block;
width:436px;
height:93px;
text-indent:-9999em;
}
</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript" charset="utf-8">
$(function () {
var tabContainers = $('div.tabs > div');
tabContainers.hide().filter(':first').show();
$('div.tabs ul.tabNavigation a').click(function () {
tabContainers.hide();
tabContainers.filter(this.hash).show();
$('div.tabs ul.tabNavigation a').removeClass('selected');
$(this).addClass('selected');
return false;
}).filter(':first').click();
});
</script>
</head>
<body>
<div class="container">
<a id="logo" href="#home">X96 Design and Development</a>
<div class="tabs">
<ul class="tabNavigation">
<li><a href="#home">Home Slice</a></li>
<li><a href="#portfolio">Our Work</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
<div id="home">
<h1>Welcome.</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
<div id="portfolio">
<h1>What We've Done.</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
<div id="contact">
<h1>Get in Touch.</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
</div>
</div>
</body>
</html>
Any help would be appreciated...
// X96 \\
So if the URL was #contact it would select the "Contact" tab and show the associated content.
Here's what I have: [Live Demo (http://x96webdesign.uuuq.com/web_app/demo/jquery_tab_hash_select/)]
<!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" xml:lang="en" lang="en">
<head>
<title>X96 Design and Development</title>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<style type="text/css" media="screen">
body { margin:10px; padding:0; font:1em "trebuchet ms", verdana, arial, sans-serif; font-size:100%; }
h1 { margin-bottom:2px; font-family:garamond, Georgia, "times new roman", times, serif;}
div.container { margin:auto; width:800px; margin-bottom:10px;}
textarea { width:80%;}
fieldset { border:1px solid #ccc; padding:1em; margin:0; }
legend { color:#ccc; font-size:120%; }
input, textarea { font-family:arial, verdana; font-size:125%; padding:7px; border:1px solid #999; }
label { display:block; margin-top:10px; }
img { margin:5px; }
ul.tabNavigation {
list-style:none;
margin:0;
padding:0;
}
ul.tabNavigation li {
display:inline;
}
ul.tabNavigation li a {
padding:3px 15px;
background-color:#ededed;
color:#555;
text-decoration:none;
text-shadow:0 1px 0 #fff;
}
ul.tabNavigation li a:hover {
color:#000;
text-decoration:none;
}
ul.tabNavigation li a.selected, ul.tabNavigation li a.selected:hover {
background-color:#333;
color:#fff;
padding-top:7px;
text-shadow:0 -1px 0 #000;
text-decoration:none;
}
ul.tabNavigation li a:focus {
outline:0;
}
div.tabs > div {
padding:5px;
margin-top:3px;
border-top:3px solid #333;
}
div.tabs > div h2 {
margin-top:0;
}
#logo {
text-decoration:none;
background:transparent url(includes/logo.png) no-repeat scroll 0 0;
display:block;
width:436px;
height:93px;
text-indent:-9999em;
}
</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript" charset="utf-8">
$(function () {
var tabContainers = $('div.tabs > div');
tabContainers.hide().filter(':first').show();
$('div.tabs ul.tabNavigation a').click(function () {
tabContainers.hide();
tabContainers.filter(this.hash).show();
$('div.tabs ul.tabNavigation a').removeClass('selected');
$(this).addClass('selected');
return false;
}).filter(':first').click();
});
</script>
</head>
<body>
<div class="container">
<a id="logo" href="#home">X96 Design and Development</a>
<div class="tabs">
<ul class="tabNavigation">
<li><a href="#home">Home Slice</a></li>
<li><a href="#portfolio">Our Work</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
<div id="home">
<h1>Welcome.</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
<div id="portfolio">
<h1>What We've Done.</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
<div id="contact">
<h1>Get in Touch.</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
</div>
</div>
</body>
</html>
Any help would be appreciated...
// X96 \\