Klaus... A few questions.
1) I'm assuming from your reply that there's no way to do this with plain ole hover/toggle then? 2) What is a closure? 3) Is there any performance hit when doing .each (then toggle) versus just doing .toggle? 4) Can you explain this line please? var $this = $(this), size = $this.attr('href'), toggle = $('.' + size); On Sep 1, 4:43 am, Klaus Hartl <[EMAIL PROTECTED]> wrote: > Andy Matthews wrote: > > Is there a way to pass arguments from one anonymous function, (in > > either Toggle, or Hover) to the second? Ideally I'd like to be able to > > pass in whatever variables I choose, but I'd settle for being able to > > pass in $(this), the item that triggered the event. > > > Here's the code: > > > // I have a set of links which show/hide items on a chart > > $('a.display').toggle(function(){ > > var size = $(this).attr('href'); > > $('.' + size).hide(); > > },function(size ){ // can I pass "size" through to this second > > function? > > $('.' + size).show(); > > }); > > > Anyone? If this is possible, then it needs to become part of the API > > docs because I can't find it anywhere on the site. > > Closures are your friend: > > $('a.display').each(function() { > var $this = $(this), size = $this.attr('href'), toggle = $('.' + size); > $this.toggle(function() { > toggle.hide(); > }, function() { > toggle.show(); > }); > > }); > > HTH > > --Klaus- Hide quoted text - > > - Show quoted text -