Highlight Current Page in Navigation Bar. How to?

JavaScript and client side scripting.

Moderator: General Moderators

Post Reply
drayarms
Forum Contributor
Posts: 134
Joined: Fri Dec 31, 2010 5:11 pm

Highlight Current Page in Navigation Bar. How to?

Post by drayarms »

Hello, I tried to give a shot at the problem posed in the subject line. So below is my HTML and jQ for what I'm trying to accomplish.

html

Code: Select all

					<ul class="topnav1">
    					<li class="highlight"><a href="index.php">Home</a></li>
					
    					<li><a href="testimonials_page.php">Testimonials</a></li>
					
    					<li><a href="services.php">Services</a></li>
					
    					<li><a href="contact_page.php">Contact Us</a></li>

					</ul>
jQ

Code: Select all

		<script type='text/javascript'>



 //Menu highlights.


			$(document).ready(function(){

      				var pathname = (window.location.pathname.match(/[^\/]+$/)[0]);

				
$(".topnav1 li a").each(function() {


					if ($(this).attr('href')==pathname) {

						
$("li.highlight").removeClass("highlight");

						
$(this).parent().parent().addClass("highlight");
}


					});

					
$("li.highlight"').parents().each(function(){
if ($(this).is("li")){
$(this).addClass("highlight");


					}


				});


			});



			

		</script>

The idea is to remove the highlighted class from its default list item, and assign it to the list item whose href attribute matches the current url. I must admit I'm not the best at programming matching patterns, so I'm kind of at a loss as to how to match only part of the url with the href attribute and I'm not sure that's why my code isn't working( the highlight is retained on the home menu item and isn't applied to the others). Any ideas?
Gopesh
Forum Contributor
Posts: 143
Joined: Fri Dec 24, 2010 12:48 am
Location: India

Re: Highlight Current Page in Navigation Bar. How to?

Post by Gopesh »

Post Reply