must be imagining it. Thanks Richard, I'll go the if statement route!
Gavin
On Nov 30, 4:54 pm, "Richard D. Worth" <rdwo...@gmail.com> wrote:
> Each of the methods you mention accept (optionally) a single callback
> function as a final argument. Neither accept more than one. See:
>
> http://docs.jquery.com/Effects/toggle#speedcallback
>
> http://docs.jquery.com/Effects/slideToggle#speedcallback
>
> If you want to do something different in one case as opposed to another,
> check whether the element is visible and then call the appropriate animation
> method to show or hide, along with anything else you want to do at the same
> time. Or call the toggle or slideToggle, and put your if inside the single
> callback, like so:
>
> $('#my-element').click(function() {
> var wasHidden = $('#list-element').is(':hidden');
> $('#list-element').slideToggle(200, function(){
> if (wasHidden) {
> $('#status-element').html('show artist index');
> console.log('show');
> } else {
> $('#status-element').html('hide artist index');
> console.log('hide');
> }
> });
>
> });
>
> - Richard
>
> On Mon, Nov 30, 2009 at 1:39 PM, Gavin <failed...@gmail.com> wrote:
> > I have a simple bit of jQuery that I just can't get working.
>
> > $('#my-element').click(function(){
> > $('#list-element').slideToggle(function(){
> > $('#status-element').html('show artist
> > index');
> > console.log('show');
> > },function(){
> > $('#status-element').html('hide artist
> > index');
> > console.log('hide');
> > }
> > );
> > });
>
> > Right? Simple? I've had it working before, but whenever the element is
> > clicked, the element toggles but the console prints 'hide' every time
> > and the #status-element never gets changed. I have also tried just
> > using toggle() instead of slideToggle and also
>
> > slideToggle(200,function(){...
>
> > (including the speed before the callback functions).
>
> > Any ideas would be appreciated!
>
> > Thanks,
> > Gavin
No comments:
Post a Comment