【问题标题】:How to make a wait in JQuery如何在 JQuery 中等待
【发布时间】:2019-06-02 09:46:08
【问题描述】:

我想让 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>

没有错误我只是想知道怎么做

【问题讨论】:

标签: javascript jquery html


【解决方案1】:

也许delay 函数就是您所追求的。

msg
    .slideDown(2000)
    .delay(1000)
    .addClass('error')
    .text('Please Enter an Answer');

您还应该查看chaining

【讨论】:

    【解决方案2】:

    替换你的最后一行

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

    msg.delay(5000).slideUp();
    

    用你想要的任何时间段替换 5000,以毫秒为单位

    【讨论】:

      猜你喜欢
      • 2012-05-21
      • 2017-09-05
      • 1970-01-01
      • 1970-01-01
      • 2013-07-22
      • 1970-01-01
      • 1970-01-01
      • 2010-12-22
      • 2018-07-10
      相关资源
      最近更新 更多