Thank you! Everything works perfectly now.

On Jan 23, 9:43 pm, Brandtley McMinn <bmcminn...@gmail.com> wrote:
> Hey Kevin,
>
> So one way to conditionally run a script based on the value of the link
> is to do this:
>
> <!-- HTML -->
> <ul id="nav">
> <li><a id="home" class="active" href="#">Home</a></li>
> <li><a id="about" href="#">About</a></li>
> <li><a id="contact" href="#">Contact</a></li>
> </ul>
>
> // JAVASCRIPT
> jQuery(document).ready(function() {
>      var navItem = $("#nav a");
>      navItem.click(function(){
>
>          // remove initial active state
>          navItem.removeClass("active");
>
> // <<< START NEW CODE!!!!
>          // retrieve the id value 'this' <a> tag
>          var navItemValue = $(this).attr('id');
>
>          if ( navItemValue === "home") {
>              alert("We are home");
>          }
>          else if ( navItemValue === "about") {
>              alert("Pancakes are DELICIOUS!");
>          }
>          else if ( navItemValue === "contact") {
>              alert("Something else is gonna happen if you press ok...
> not really :P");
>          }
> // END NEW CODE >>>
>
>          // add active state to pressed menu item
>          $(this).addClass("active").preventDefault();
>
>      });
>
> })();
>
> So using the same script we had last time, we just add another variable
> assignment and then our if-else logic. We're taking the current link
> element's id# attribute using $(this).attr() and assigning that to val
> navItemValue.
>
> This is the jQuery documention on the .attr() method 
> --http://api.jquery.com/attr/
>
> By assigning 'this' id to a value, we can use that variable to create
> our logic. So if the id of home is "home", run this script.
>
> You can also run plugin function calls given your if statement evaluates
> properly.
>
> So say you had a modal window popup for a form submission.
>
> if ( navItemVal === "correct_variable") {
>      jqPopupWindow();
>
> }
>
> but you can stuff any logic you wish within the respective 'if' statement.
>
> - Brandtley
>
> On 1/23/2011 10:15 PM, Kevin wrote:
>
>
>
>
>
>
>
> > 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/
> >> )

-- 
--
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