Episode 22 of 24

Sliding Elements

Learn jQuery slide effects — slideDown, slideUp, and slideToggle.

Slide animations show and hide elements with a smooth vertical sliding motion.

slideDown()

// Reveal an element by sliding it down
$(".panel").slideDown();         // Default speed
$(".panel").slideDown("slow");  // Slow
$(".panel").slideDown(500);     // 500ms

slideUp()

// Hide an element by sliding it up
$(".panel").slideUp();
$(".panel").slideUp(300, function() {
    console.log("Slid up!");
});

slideToggle()

// Toggle between slideDown and slideUp
$("button").click(function() {
    $(".content").slideToggle(400);
});

Accordion Menu

// CSS: .accordion-body { display: none; }

$(".accordion-header").click(function() {
    // Close all other sections
    $(".accordion-header").not(this)
        .removeClass("active")
        .next(".accordion-body").slideUp(300);

    // Toggle the clicked section
    $(this).toggleClass("active")
        .next(".accordion-body").slideToggle(300);
});

Dropdown Menu

$(".dropdown-trigger").hover(
    function() {
        $(this).find(".dropdown-menu").stop(true).slideDown(200);
    },
    function() {
        $(this).find(".dropdown-menu").stop(true).slideUp(200);
    }
);

Slide with Callbacks

$(".box").slideUp(400, function() {
    $(this).css("background", "#e74c3c").slideDown(400);
});

Tip: Use .stop(true) before slide animations to prevent queuing issues when the user triggers the animation rapidly.