342 posts
  • Affiliate Level 4
  • Author Level 5
  • Beta Tester
  • Collector Level 3
+6 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

1565 posts
  • Affiliate Level 1
  • Author Level 5
  • Collector Level 2
  • Featured Author
+2 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');
        }

    });
});
342 posts
  • Affiliate Level 4
  • Author Level 5
  • Beta Tester
  • Collector Level 3
+6 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