html()函数完成后如何运行循环?

FRE*_*TER -3 html javascript jquery

我试图在div中写入一些文本之后运行一些javascript代码,如下所示:

<!DOCTYPE html>
<html>
    <head>
        <title>HTML Tutorial</title>
    </head>
<body>
    <button type="button" id="btnTest">Click</button>
    <div id="testDiv" style="width:100px; height: 100px; background-color: red;">
    </div>
</body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script type='text/javascript'>
    $('#btnTest').on('click', function() {
        $('#testDiv').html('hello');

        for(var i=0; i<5000; i++) {
            console.log('testing');
        }
    });
</script>
</html>
Run Code Online (Sandbox Code Playgroud)

我想在单击按钮后立即在div中显示文本'hello',并且只有在此之后我才想要执行for循环.但是,仅在for循环运行时才会显示文本.

我怎么解决这个问题?

Mat*_*hai 8

你可以使用.promise()方法:

$('#btnTest').on('click', function() {
    $('#testDiv').html('hello').delay(0).promise().done(function(){
        for (var i = 0; i < 5000; i++) {
            console.log('testing');
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

演示

  • 听起来很有希望:) (3认同)