Javascript 如何在JQuery中进行等待

Javascript 如何在JQuery中进行等待,javascript,jquery,html,Javascript,Jquery,Html,我试图让jQuery在它停止之前等待,然后再向上滑动 我尝试使用setTimeout,但它不起作用 $(document).ready(function() { const myForm = $('#MyForm'); const ul = $('items') const userList = $('#users'); const AnswerInput = $('#Answer1').val(); const msg = $('.msg');

我试图让jQuery在它停止之前等待,然后再向上滑动

我尝试使用setTimeout,但它不起作用

$(document).ready(function() {
    const myForm = $('#MyForm');
    const ul = $('items')
    const userList = $('#users');
    const AnswerInput = $('#Answer1').val();
    const msg = $('.msg');

    myForm.submit(function(e){
        e.preventDefault()
        if(AnswerInput === ''){
            msg.slideDown(2000)
            msg.addClass('error')
            msg.text('Please Enter an Answer')
            setTimeout(()=> msg.slideUp(), 2000)
        }

    })
});
这是HTML

<div class="container">
    <div class="card">
    <div class="msg"></div>
        <form id="MyForm">
            <label for="answer"> Factorise x<sup>2</sup> + 5x + 6:</label>
            <input type="text" id="Answer1" class="inputText">
            <br><br>
            <input type="submit" class="btn" id="clickBtn">

        </form>
    </div>
    <ul id="users">
        <li>ghv</li>
        <li>jhbh</li>
    </ul>
</div>

因子x2+5x+6:


  • ghv
  • jhbh
没有错误,我只是想知道怎么做

也许函数就是你想要的

msg
    .slideDown(2000)
    .delay(1000)
    .addClass('error')
    .text('Please Enter an Answer');
您还应该查看。

替换最后一行

setTimeout(()=> msg.slideUp(), 2000)

将5000替换为您想要的任何时间段(以毫秒为单位)

看看这里:它将告诉您如何“等待()。
msg.delay(5000).slideUp();