jQuery Fadeout on Click or after delay

前端 未结 3 1195
逝去的感伤
逝去的感伤 2021-02-15 10:55

I am displaying a message box on a website. I would like to be able to have it either fadeout on click or after X seconds. The problem is that the delay() function

3条回答
  •  夕颜
    夕颜 (楼主)
    2021-02-15 11:37

    You should change it to a setTimeout: http://jsfiddle.net/VRYBk/3/

    (in the jsfiddle link) I removed your delay line and replaced it with a standard setTimeout like:

    setTimeout(function(){
        $("#message-green").fadeOut("slow");
    },5000)
    

    As a note of WHY, is because JS is read top to bottom and it'll read your delay before you click and trigger the event. Therefore, even when you click the delay is being run causing all animation to pause.

提交回复
热议问题