1

我有一个填充弹出屏幕的页面,当我单击必须填充弹出窗口的链接时,该页面由一些框架组成,它会正确填充窗口,但仅 html 页面会获得块中的背景,而框架则不会' t 得到背景块。

请参阅图片以供参考,我还将过去使用的文件:

在此处输入图像描述

POPUP.JS

//SETTING UP OUR POPUP
//0 means disabled; 1 means enabled;
var popupStatus = 0;

//loading popup with jQuery magic!
function loadPopup(){
    //loads popup only if it is disabled
    if(popupStatus==0){
        $("#backgroundPopup").css({
            "opacity": "0.7"
        });
        $("#backgroundPopup").fadeIn("slow");
        $("#popupContact").fadeIn("slow");
        popupStatus = 1;
    }
}

//disabling popup with jQuery magic!
function disablePopup(){
    //disables popup only if it is enabled
    if(popupStatus==1){
        $("#backgroundPopup").fadeOut("slow");
        $("#popupContact").fadeOut("slow");
        popupStatus = 0;
    }
}

//centering popup
function centerPopup(){
    //request data for centering
    var windowWidth = document.documentElement.clientWidth;
    var windowHeight = document.documentElement.clientHeight;
    var popupHeight = $("#popupContact").height();
    var popupWidth = $("#popupContact").width();
    //centering
    $("#popupContact").css({
        "position": "absolute",
        "top": windowHeight/2-popupHeight/2,
        "left": windowWidth/2-popupWidth/2
    });
    //only need force for IE6

    $("#backgroundPopup").css({
        "height": windowHeight
    });

}


//CONTROLLING EVENTS IN jQuery
$(document).ready(function(){

    //LOADING POPUP
    //Click the button event!
    $("#button").click(function(){
        //centering with css
        centerPopup();
        //load popup
        loadPopup();
    });

    //CLOSING POPUP
    //Click the x event!
    $("#popupContactClose").click(function(){
        disablePopup();
    });
    //Click out event!
    $("#backgroundPopup").click(function(){
        disablePopup();
    });
    //Press Escape event!
    $(document).keypress(function(e){
        if(e.keyCode==27 && popupStatus==1){
            disablePopup();
        }
    });

});

and POPUP.CSS
#backgroundPopup{
display:none;
position:fixed;
_position:absolute; /* hack for internet explorer 6*/
height:100%;
width:100%;
top:0;
left:0;
background:#000000;
border:1px solid #cecece;
z-index:1;
}
#popupContact{
display:none;
position:fixed;
_position:absolute; /* hack for internet explorer 6*/
height:384px;
width:750px;
background:#FFFFFF;
border:2px solid #cecece;
z-index:2;
padding:12px;
font-size:13px;
overflow:scroll;
}
#popupContact h1{
text-align:left;
color:#333;
font-size:20px;
border-bottom:1px dotted #D3D3D3;
padding-bottom:5px;
margin-bottom:20px;
}
#popupContactClose{
font-size:14px;
line-height:14px;
right:6px;
top:4px;
position:absolute;
color:#6fa5fd;
font-weight:700;
display:block;
cursor:pointer;
}
#button{
text-align:center;
}

and the html : 

<div id="popupContact">
    <a id="popupContactClose"><img src="images/x.png" alt="X" /></a>
    <h1>Reports</h1>
    <table border="0" width="100%" cellpadding="0" cellspacing="0">
        <thead>
            <tr>
                <th class="header">Sl. No</th>
                <th class="header">Checkbox</th>
                <th class="header">Size</th>
                <th class="header">Display</th>
            </tr>
        </thead>
        <tbody> 
            <tr>
                <td>1</td>
                <td><input type="checkbox" name="check" id="check" /></td>
                <td><input type="text" value="" /></td>
                <td><input type="text" value="" /></td>
            </tr>
            <tr class="odd">
                <td>2</td>
                <td><input type="checkbox" name="check" id="check" /></td>
                <td><input type="text" value="" /></td>
                <td><input type="text" value="" /></td>
            </tr>
            <tr>
                <td>3</td>
                <td><input type="checkbox" name="check" id="check" /></td>
                <td><input type="text" value="" /></td>
                <td><input type="text" value="" /></td>
            </tr>
            <tr class="odd">
                <td>4</td>
                <td><input type="checkbox" name="check" id="check" /></td>
                <td><input type="text" value="" /></td>
                <td><input type="text" value="" /></td>
            </tr>
            <tr>
                <td>5</td>
                <td><input type="checkbox" name="check" id="check" /></td>
                <td><input type="text" value="" /></td>
                <td><input type="text" value="" /></td>
            </tr>
            <tr class="odd">
                <td>6</td>
                <td><input type="checkbox" name="check" id="check" /></td>
                <td><input type="text" value="" /></td>
                <td><input type="text" value="" /></td>
            </tr>
            <tr>
                <td>7</td>
                <td><input type="checkbox" name="check" id="check" /></td>
                <td><input type="text" value="" /></td>
                <td><input type="text" value="" /></td>
            </tr>
            <tr class="odd">
                <td>8</td>
                <td><input type="checkbox" name="check" id="check" /></td>
                <td><input type="text" value="" /></td>
                <td><input type="text" value="" /></td>
            </tr>
            <tr>
                <td>9</td>
                <td><input type="checkbox" name="check" id="check" /></td>
                <td><input type="text" value="" /></td>
                <td><input type="text" value="" /></td>
            </tr>
            <tr class="odd">
                <td>10</td>
                <td><input type="checkbox" name="check" id="check" /></td>
                <td><input type="text" value="" /></td>
                <td><input type="text" value="" /></td>
            </tr>
            <tr>
                <td>11</td>
                <td><input type="checkbox" name="check" id="check" /></td>
                <td><input type="text" value="" /></td>
                <td><input type="text" value="" /></td>
            </tr>
            <tr class="odd">
                <td>12</td>
                <td><input type="checkbox" name="check" id="check" /></td>
                <td><input type="text" value="" /></td>
                <td><input type="text" value="" /></td>
            </tr>
        </tbody>
    </table>        
</div>
<div id="backgroundPopup"></div>

请帮助我如何去做。

4

2 回答 2

3

我认为在框架集中(在 HTML 5 中已过时)没有一种好的方法。一个窗口不得将自己的元素放在其他窗口的顶部1

实现此目的的一种黑客方法是让所有人都frames知道frameset您想要模态行为,并让它们每个都显示一个阻塞元素(就像您在主框架中所做的那样)。这可能会发生在您的loadPopup()方法中。

常规的弹出窗口可能是更干净的选择。

但实际上,没有充分的理由使用框架集,尤其是对于图中的布局。

1 - 作为一个历史琐事,IE 曾经允许一种特殊类型的元素覆盖,可以覆盖其他窗口/框架。当黑客使用它生成一个元素时,这被证明是一个特别糟糕的主意,该元素用虚假 URL 覆盖浏览器的地址栏。

于 2012-10-12T07:16:44.483 回答
0

并且从图像看来,弹出窗口以您的中间框架为中心。所以实际上您没有获得主窗口的高度和宽度来定位您的弹出窗口。还有你应用的不透明度..那个div没有覆盖整个窗口..我猜它仅限于你当前的框架..

于 2012-10-12T07:36:11.647 回答