按顺序执行2个JavaScript函数

前端之家收集整理的这篇文章主要介绍了按顺序执行2个JavaScript函数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一个有两行的函数,我希望它们按顺序执行.功能是:

showNotification(message){
    $("#notificationMessageBody").html(message); // line1
    $("#notificationModal").modal('show');       //line2
}

所以,每当我调用showNotification(“Hello World!”)时,如何确保line1在line2之前执行(意味着内容加载在模态触发之前完成)
基本上,我试图在模态体中填写我的信息然后显示它,而不是在填充之前.

– 编辑 –

这些函数确实是一个接一个地执行,但是我的模态在jQuery将我的消息加载到我的#notificationMessageBody之前弹出

结果,例如:如果我调用showNotification(“Hello”),我得到一个带有“Hello”的模态(模态和东西的排列完成),但之后如果我调用showNotification(“World”)模态出现先用“Hello”然后再改为“World”.

注意:“你好”和“世界”是很大的文本垃圾,所以把它加载到我的DIV中必须花一些时间,我相信.即使它们被一个接一个地执行,但似乎(对于普通者)首先是模态弹出然后替换完成.我希望现在的情况有点清晰.

这个功能周围的任何地方都没有涉及AJAX.基本上,这是我可以说的自定义alert()函数.我的页面中有一个带有正确ID的模态.我改变了模态体内容(使用jQuery的.html()函数)并触发模式显示,如代码所示.

最佳答案
您可以使用.promise()方法(在jQuery 1.6中添加)以确保在第一个完成后执行第二个方法

$("#notificationMessageBody").html(message).promise().done(function() {
    $("#notificationModal").modal('show');  
});

猜你在找的jQuery相关文章