332 posts
  • Has referred 100+ members
  • Has sold $10,000+ on Envato Market
  • Has been a beta tester for an Envato feature
  • Has collected 50+ items on Envato Market
+5 more
vtimbuc says

Hey guys,

I need to make a simple script to toggle a div on the click event.

The problem is that the function only runs two time. Hides the div, then shows, after that stops working. I don’t know whats going on, it’s the first time that happens to me.

$(document).ready(function() {
    $('.search-tools-toggle').on('click', function(event) {

        if ($('#search-toggle').hasClass('hide')) {
            $('#search-toggle').slideDown().removeClass('hide');
        } else {
            $('#search-toggle').slideUp();
        }

    });
});

Am I doing something wrong?

Thanks

1484 posts
  • Has referred 1+ members
  • Has sold $10,000+ on Envato Market
  • Has collected 10+ items on Envato Market
  • Made it to the Authors' Hall of Fame
+3 more
OriginalEXE says

It’s your logic bug, not jQuery bug :)

You are forgetting to add ‘hide’ class again when you slideUp, so this would be the correct code:

$(document).ready(function() {
    $('.search-tools-toggle').on('click', function(event) {

        if ($('#search-toggle').hasClass('hide')) {
            $('#search-toggle').slideDown().removeClass('hide');
        } else {
            $('#search-toggle').slideUp().addClass('hide');
        }

    });
});
332 posts
  • Has referred 100+ members
  • Has sold $10,000+ on Envato Market
  • Has been a beta tester for an Envato feature
  • Has collected 50+ items on Envato Market
+5 more
vtimbuc says

Ehehe, I’m too tired, it’s time to go to bed :)

Thank you @OriginalEXE!

PS: Moderators please close :)

by
by
by
by
by
by