Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何处理引导模式的同时显示?_Javascript_Jquery_Html_Twitter Bootstrap - Fatal编程技术网

Javascript 如何处理引导模式的同时显示?

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 io创建一个应用程序,其中一个功能是显示一个模式5秒钟,然后在从服务器接收数据时隐藏它。以下是我的js:

  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()
。你的要求很难理解