Javascript 如何处理引导模式的同时显示?
我正在使用socket io创建一个应用程序,其中一个功能是显示一个模式5秒钟,然后在从服务器接收数据时隐藏它。以下是我的js:Javascript 如何处理引导模式的同时显示?,javascript,jquery,html,twitter-bootstrap,Javascript,Jquery,Html,Twitter Bootstrap,我正在使用socket io创建一个应用程序,其中一个功能是显示一个模式5秒钟,然后在从服务器接收数据时隐藏它。以下是我的js: socket.on('receiveData', function(data){ showModal(data); }); function showModal(data) { $('#myModal').html("<div class='col-xs-4'><div>
socket.on('receiveData', function(data){
showModal(data);
});
function showModal(data)
{
$('#myModal').html("<div class='col-xs-4'><div><img src='/img/" + data.Avatar + "' id='queue_img1' class='img-circle' alt='User'></div></div>");
$('#myModal').show();
modalTime1 = setTimeout(function() {
$('#myModal').hide();
}, 5000);
}
socket.on('receiveData',函数(数据){
showmodel(数据);
});
函数showModal(数据)
{
$('#myModal').html(“”);
$('#myModal').show();
modalTime1=setTimeout(函数(){
$('#myModal').hide();
}, 5000);
}
但当我在第一个模式关闭前再次收到数据时,我遇到了问题。它将直接显示第二个模态。换句话说,如果我在第一个模态显示后仅2秒钟从服务器接收到第二个数据,它将立即显示第二个模态
我想做的是,即使我在第一个模式关闭前收到第二个数据,也就是说我在5秒钟内收到第二个数据,我的第一个模式将继续显示5秒钟。在第一个模态显示5秒后,只有第二个模态显示5秒
然后,即使我在显示第一个模态的过程中收到第二个和第三个数据,它也会继续运行,直到第一个模态显示5秒时只显示第二个模态,然后在第二个模态显示5秒后,它显示第三个模态。类似于排队的每种模式必须显示5秒钟
我似乎找不到一种方法来支持第二个模态的显示,直到第一个模态显示5秒钟之后。你们有什么想法吗?你们需要像这样使用去盎司功能:
\去盎司(showmodel,5000)代码>
这需要库。将modaltimer1设置为全局变量,并清除showModal()函数开头的时间,然后在打开新模态之前关闭模态。。可以使用$(document.find('#myModal1').each(function(){$(this.hide();});关闭已打开的所有实例的步骤modals@Adarsh,我想你误解了我的意思,先生。。我想要的是让我的第一个模态显示5秒钟,即使我在第一个模态显示5秒钟之前收到了显示第二个模态的呼叫。我想要一种方法,让第二个模态的显示在第一个模态完成显示5秒之后…所以你想要的是排队,对吗?但是我怎么知道我需要等待多长时间才能完成第一个模态的显示?比如,当第一个模态显示了3秒时,我得到了第二个数据,我知道还有2秒要显示。但是我的应用程序是怎么知道的呢?在这种情况下,您可以查看\uuu.after()
。你的要求很难理解