That worked great, thanks.

But now if I want the links to actually do something with a
conditional statement, how do I extract the text from "this"?

something like "if (this.html()=="text)"?

On Jan 23, 5:07 pm, Brandtley McMinn <bmcminn...@gmail.com> wrote:
> Instead of trying to edit the CSS directly, just add a class like
> (.active) to the link's <a> tag.
>
> First off, get rid of your menulink# system. Targeting an ID with
> sub-classes is much easier to apply changes to since you can abstract
> the logic for each item with fewer instructions.
>
> <ul id="nav">
> <li><a class="active" href="#">Home</a></li>
> <li><a href="#">About</a></li>
> <li><a href="#">Contact</a></li>
> </ul>
>
> <ul id="miscNav">
> <li><a class="active" href="#">I'm not important</a></li>
> <li><a href="#">Test Link 1</a></li>
> <li><a href="#">Test Link 2</a></li>
> </ul>
>
> You can then style your .Active class accordingly and just have a
> generic fall back styling for your #nav links.
>
> Secondly, direct CSS modifications through javascript aren't necessary
> when you can simply add/take away classes:
>
> $(document).ready(function() {
>
>      var navItem = $("#nav a");  // assign your selector to a variable
>
>      navItem.click(function(){
>
>          // remove initial active state from all possible menu items
>          navItem.removeClass("active");
>
>          // add active state to clicked menu item and prevent default
> link behaviour
>          $(this).addClass("active").preventDefault();
>
>      });
>
> })();  // make our document.ready a self-invoking function
>
> What this does is it removes the .active class from ALL list items
> within #nav and then adds the .active class to the specific item that
> fired the .click() event. Chaining .preventDefault() to the end of our
> ($this) selector is a much cleaner method for removing the default link
> behaviour VS return false [s1].
>
> Hope this helps a bit.
>
> - Brandtley McMinn
> Creative Director
> Gigglebox Studios
> giggleboxstudios.net
>
> PS:
> (
> s1 - sited from Sitepoint's "jQuery: Novice to Ninja" which is a book I
> highly recommend for learning the in's and out's of jQuery.   link 
> --http://www.sitepoint.com/books/jquery1/
> )
>
> On 1/23/2011 4:12 PM, Kevin wrote:
>
>
>
>
>
>
>
> > Just tried with
>
> >    document.getElementById("menulink1").style.color="#999";
> >    document.getElementById("menulink2").style.color="#999";
> >    document.getElementById("menulink3").style.color="#900";
>
> > Doesn't seem to make a difference.
>
> > On Jan 23, 2:02 pm, Kevin<k30...@gmail.com>  wrote:
> >> Hi, I have some menu links that have a hover color property.
>
> >> I recently added some color changes on click through JQuery to
> >> represent the current active page with
>
> >> $("#menulink1").click(function(){
> >>              $('#menulink1').css("color","#000");
> >>              $('#menulink2').css("color","#555");
> >>              $('#menulink3').css("color","#555");
> >>              return false;});
>
> >> $("#menulink2").click(function(){
> >>              $('#menulink1').css("color","#555");
> >>              $('#menulink2').css("color","#000");
> >>              $('#menulink3').css("color","#555");
> >>              return false;});
>
> >> $("#menulink3").click(function(){
> >>              $('#menulink1').css("color","#555");
> >>              $('#menulink2').css("color","#555");
> >>              $('#menulink3').css("color","#000");
> >>              return false;
>
> >> });
>
> >> As soon as one of these functions are activated, however, the css
> >> hover property seems to just stop working and it doesn't look like I
> >> can edit the css hover property through JQuery.
>
> >> I've tried .hover() but unless I indicate a color on mouseout, the
> >> hover color just gets stuck and if I do indicate a mouseout color,
> >> than the code above just gets ignored.

-- 
--
You received this because you are subscribed to the "Design the Web with CSS" 
at Google groups.
To post: css-design@googlegroups.com
To unsubscribe: css-design-unsubscr...@googlegroups.com

Reply via email to