在重新调整浏览器窗口大小时,防止jQuery弹出窗口被包装

时间:2014-03-04 18:29:18

标签: javascript jquery html css

我点击链接后会出现一个jQuery弹出窗口。弹出窗口打开和关闭正常,但我希望在重新调整浏览器窗口大小以防止包装时弹出窗口的位置保持固定。

我通常使用少量的jQuery代码来阻止浏览器窗口重新调整大小,但在这个特定的实例中,它无法正常工作。

用于防止包装的jQuery代码:

<script src="http://wcetdesigns.com/assets/javascript/jquery.js"></script>

<script>

$(document).ready(function() {

$("[class~='floatNoWrap']").each(function () {
$(this).css("width", $(this).outerWidth());
});

});

</script>

弹出窗口的jQuery代码:

$(document).ready(function () { 



//open popup
$("#pop").click(function(){
$("#overlay_form").fadeIn(1000);
positionPopup();
});

//close popup
$("#close").click(function(){
$("#overlay_form").fadeOut(500);
});

//open popup 2
$("#pop2").click(function(){
$("#overlay_form2").fadeIn(1000);
positionPopup();
});

//close popup 2
$("#close2").click(function(){
  $("#overlay_form2").fadeOut(500);
});


//position the popup at the center of the page
function positionPopup(){
if(!$("#overlay_form, #overlay_form2").is(':visible')){
return;
}
$("#overlay_form, #overlay_form2").css({
left: ($(window).width() - $('#overlay_form, #overlay_form2').width()) / 2,
top: ($(window).width() - $('#overlay_form, #overlay_form2').width()) / 3,
position:'absolute'
});
}

//maintain the popup at center of the page when browser resized
$(window).bind('resize',positionPopup);



});

弹出窗口的CSS:

#overlay_form, #overlay_form2{
font-weight:bold;
border: 2px solid;
margin: 10px 70px;
padding:35px 35px 228px 70px;
background-repeat: no-repeat;
background-position: 10px center;
width:600px;
color: #4F8A10;
background-color:#EDFCED;
position:absolute;
}

#pop, #pop2{
display: block;
border: 1px solid gray;
width: 65px;
text-align: center;
padding: 6px;
border-radius: 5px;
text-decoration: none;
margin: 0 auto;
} 

1 个答案:

答案 0 :(得分:0)

以下是纠正浮动弹出窗口的代码:

jQuery的:

//position the popup at the center of the page
function positionPopup(){
if(!$("#overlay_form, #overlay_form2").is(':visible')){
return;
}
$("#overlay_form, #overlay_form2").css(("width", $(this).outerWidth())
);
}