Hi Mike, I really appreciate your support...it works like a charm.
Regards, Arthur On Oct 11, 9:52 am, "Michael Geary" <[EMAIL PROTECTED]> wrote: > Without seeing the other two instances of your code, I assume that the > things that vary among them are the two ID selectors and the two text > messages, is that right? > > Then it's a simple matter of turning your code into a function: > > function slider( idShade, idTrigger, textView, textHide ) { > var $shade = $('#'+idShade); > $shade.hide(); > $('#'+idTrigger).click( function () { > $shade.animate({ > height: 'toggle', > opacity: 'toggle' > }, 'slow'); > var $this = $(this); > $this.text( $this.text() == textView ? textHide : textView ); > return false; > }); > > } > > $(document).ready(function() { > slider( > 'topShade', 'trigger_sitemap', > 'View Site Map', 'Hide Site Map' > ); > // and simlarly for your other two instances > > }); > > Also I changed your double quotes to single since there was a mix of them. > It's a good idea to pick one (I strongly recommend single quotes in JS code) > and use it consistently. > > -Mike > > > From: arthaus > > > On a page, I have THREE slide-fade animation. And currently > > I'm replicating three instances the following code. > > > $(document).ready(function() { > > $('#topShade').hide(); > > $('#trigger_sitemap').bind("click", function () { > > $('#topShade').animate({ > > height: 'toggle', > > opacity: 'toggle' > > }, "slow"); > > var $this = $(this); > > var trigger_txt_sitemap = $this.text(); > > if (trigger_txt_sitemap == 'View Site Map') { > > $this.text('Hide Site Map'); > > } else { > > $this.text('View Site Map'); > > } > > return false; > > }); > > }); // document.ready > > > How can I efficiently rewrite this code? (that will be used multiple > > instances) > > > Thanks in advance, > > Arthur