jQuery: slideUp() delay() then slideDown; not working
Asked Answered
A

1

10

I'm trying to implement a very simple footer notification element to slide up for a moment, then slide back down. I'm using:

$('button').click( function () {
    $('#message-box').slideUp('slow').delay(1500).slideDown('slow');
});

However, when you click the button, it delays for the 1500 ms then slides up and never slides down.

http://jsfiddle.net/jrMH3/17/

Ament answered 30/9, 2010 at 17:12 Comment(0)
S
24

What you actually want is this:

 $('#message-box').slideDown('slow').delay(1500).slideUp('slow');

You can test it here. Though it seems a bit backwards given your layout, .slideDown() is for showing an element, and .slideUp() is for hiding an element...even though given your CSS it's actually going up when shown.

Also as an aside, you don't need <html> and <body> tags when editing the fiddle, these are already included...any content in the html frame will go inside the <body>.

Salvo answered 30/9, 2010 at 17:17 Comment(1)
Doh, completely failed to notice that quirk, silly :) Thanks Nick!Ament

© 2022 - 2024 — McMap. All rights reserved.