显示自动弹出框时禁用背景

时间:2014-09-21 06:23:27

标签: javascript jquery html css popupwindow

我创建了一个弹出框,它会在5s后自动显示加载网站。但如果我点击弹出框外面的框就关闭了。但是我想在显示弹出框时禁用背景。如果我删除了2 &#34之后的代码行;如果单击了掩码"评论,我的网站链接和其他人也从一开始就禁用。所以我该如何解决这个问题。

$(document).ready(function() {  
    //Put in the DIV id you want to display 
    launchWindow('#dialog');    

    //if postpone button is clicked
    $('.window .postpone').click(function (e) {
        //Cancel the link behavior
        e.preventDefault();

        $('#mask').hide();
        $('.window').hide();

        launchWindowPP(id);
    });     

    //if mask is clicked *********** 
    $('#mask').click(function () {
        $(this).hide();
        $('.window').hide();
    });         



    $(window).resize(function () {

        var box = $('#boxes .window');

        //Get the screen height and width
        var maskHeight = $(document).height();
        var maskWidth = $(window).width();

        //Set height and width to mask to fill up the whole screen
        $('#mask').css({'width':maskWidth,'height':maskHeight});

        //Get the window height and width
        var winH = $(window).height();
        var winW = $(window).width();

        //Set the popup window to center
        box.css('top',  winH/2 - box.height()/2);
        box.css('left', winW/2 - box.width()/2);

    }); 

});


function launchWindow(id) {

        //Get the screen height and width
        var maskHeight = $(document).height();
        var maskWidth = $(window).width();

        //Set heigth and width to mask to fill up the whole screen
        $('#mask').css({'width':maskWidth,'height':maskHeight});

        //transition effect 
        $('#mask').delay(5000).fadeIn('medium');        
        $('#dialog').delay(5000).fadeIn('medium');      

        $('#mask').fadeIn(1000);    
        $('#mask').fadeTo("slow",0.8);  


        //Get the window height and width
        var winH = $(window).height();
        var winW = $(window).width();

        //Set the popup window to center
        $(id).css('top',  winH/2-$(id).height());
        $(id).css('left', winW/2-$(id).width()/2);

        //transition effect
        $(id).fadeIn(2000); 


}


function launchWindowPP(id) {

    //Get the screen height and width
    var maskHeight = $(document).height();
    var maskWidth = $(window).width();

    //Set heigth and width to mask to fill up the whole screen
    $('#mask').css({'width':maskWidth,'height':maskHeight});

    //transition effect 
    $('#mask').delay(10000).fadeIn('medium');
    $('#dialog').delay(10000).fadeIn('medium');

    //$('#fanback').delay(10000).fadeIn('medium');  
    $('#mask').fadeIn(1000);    
    $('#mask').fadeTo("slow",0.8);  


    //Get the window height and width
    var winH = $(window).height();
    var winW = $(window).width();

    $(id).css('top',  winH/2-$(id).height());
    $(id).css('left', winW/2-$(id).width()/2);

    $(id).fadeIn(2000); 


}

function myFunctionSubmit(){
    if($('input[name=gender]:checked').length > 0 && $('input[name=quality]:checked').length > 0){          
            $('#mask').hide();
            $('.window').hide();



    }
}

这是一些css代码

body {
font-family:verdana;
font-size:15px;
}

a {color:#333; text-decoration:none}
a:hover {color:#ccc; text-decoration:none}

#mask {
  position:absolute;
  left:0;
  top:0;
  z-index:9000;
  background-color:#000;
  display:none;
}

#boxes .window {
  position:fixed;
  left:0;
  top:0;
  width:440px;
  height:200px;
  display:none;
  z-index:9999;
  padding:20px;
}


#form{
    background-color:darkolivegreen;
    color:#D5FFFA;
    border-radius:5px;
    border:3px solid rgb(211, 205, 61);
    padding: 4px 30px;
    font-Weight:700;
    width:375px;
    font-size:12px;
    float:left;
    height:auto;
    margin-left: 35px;
    }

我认为"面具"是从网站加载开始。所以我想延迟掩码添加网站或类似的东西。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

感谢大家。我通过更改代码解决了这个问题。

var fpt=first_popup_time = 5000;
var ppt=postpone_popup_time = 3000; 

$(document).ready(function() {      
    if (!readCookie('exam_feedback_popup')) {
    setTimeout(function() { launchWindow('#dialog'); }, fpt);
    }   
    //if postpone button is clicked
    $('.window .postpone').click(function (e) {             
        e.preventDefault();     
        $('#mask').hide();
        $('.window').hide();        
        launchWindowPP(id);     
    });

......

function launchWindowPP(id) {
    $('#mask').hide();
    $('.window').hide();    
    setTimeout(function() { launchWindow('#dialog'); }, ppt);   
}