我想在30秒后使用jquery打开弹出窗口。我已经使用了淡入淡出的addClass()

时间:2016-02-12 10:50:00

标签: jquery dialog

我已经更新了这段代码。当网站加载如果工作完美但当我在另一页上工作而没有等待30秒时它也会打开弹出而不是桅杆。



$(document).ready(function() {
	setTimeout(function() {
 if(sessionStorage["dialogshow"] != 'yes'){	 
    
 //var url = window.location.pathname;
 

 // if(url == '/test/')
 //{ 
       
        //$("#dataCapture").fadeIn(3000); 
 	$("#dataCapture").addClass("fade in"); 
 	$('#dataCapture').css('display', 'block');
  	$('#dataCapture').attr("aria-hidden","false");
    
 
  	// Add the mask to body
    $('body').append('<div id="mask"></div>');
    $('#mask').fadeIn(300);
	sessionStorage["dialogshow"] = 'yes';
 
        return false;
 
 //}
}
},10000);
});
&#13;
&#13;
&#13;

4 个答案:

答案 0 :(得分:1)

请尝试此

if (sessionStorage["dialogshow"] != 'yes') {
  setTimeout(function() {
    var url = window.location.pathname;
    if (url == '/test/') {
      $("#dataCapture").addClass("fade in");
      $('#dataCapture').css('display', 'block');
      $('#dataCapture').attr("aria-hidden", "false");
      // Add the mask to body
      $('body').append('<div id="mask"></div>');
      $('#mask').fadeIn(300);
      sessionStorage["dialogshow"] = 'yes';
      return false;
    }
  }, 30000);
}

答案 1 :(得分:0)

你可以使用javascript的setTimeout方法。

,无论何时在浏览器中加载页面,都必须使用jquery的setTimeout方法进行加载。

参见示例

if (url == '/test/') {

  // add your logic here in setTimeout to load the popup after 30 sec
  setTimeout(function(){ 
  $("#dataCapture").addClass("fade in");
  $('#dataCapture').css('display', 'block');
  $('#dataCapture').attr("aria-hidden", "false");

  }, 30000);


  // Add the mask to body
  $('body').append('<div id="mask"></div>');
  $('#mask').fadeIn(300);
  sessionStorage["dialogshow"] = 'yes';
  return false;
}

答案 2 :(得分:0)

&#13;
&#13;
$(document).ready(function() {
   setTimeout(function() {
     if (sessionStorage["dialogshow"] != 'yes') {

       //var url = window.location.pathname;


       // if(url == '/test/')
       //{ 

       //$("#dataCapture").fadeIn(3000); 
       $("#dataCapture").addClass("fade in");
       $('#dataCapture').css('display', 'block');
       $('#dataCapture').attr("aria-hidden", "false");


       // Add the mask to body
       $('body').append('<div id="mask"></div>');
       $('#mask').fadeIn(300);
       sessionStorage["dialogshow"] = 'yes';

       return false;

       //}
     }
   }, 10000);
 });
&#13;
&#13;
&#13;

答案 3 :(得分:0)

您无法使用css过渡为display属性设置动画。

您应该使用visibility: hidden; opacity: 0;然后使用visibility: visible; opacity: 1;代替display: none然后使用display: block;