将弹出窗口设置为居中jquery

时间:2012-02-25 20:56:29

标签: javascript jquery-ui jquery

现在我以这种方式设置模态jQuery窗口的位置:

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

当我向下滚动时,如何使popUp居中?

4 个答案:

答案 0 :(得分:8)

您可以使用其他CSS样式,尝试position: fixed

答案 1 :(得分:5)

你可以这样使用

//在页面中心放置模态框

    jQuery.fn.center = function () {
    this.css("position","absolute");
    this.css("top", ( jQuery(window).height() - this.height() ) / 2+jQuery(window).scrollTop() + "px");
    this.css("left", ( jQuery(window).width() - this.width() ) / 2+jQuery(window).scrollLeft() + "px");
    return this;
  }

//然后调用函数

 jQuery(".modal-profile").center();

这将使您的代码井井有条,易于在任何项目中使用,以便模态化。你可以在另一个问题中看到这种工作

modal appears on page load

答案 2 :(得分:3)

这个帮了我!

$.fn.center = function() {
    this.css("position", "fixed");
    this.css("top", ($(window).height()/2 - this.height()/2) + "px");
    this.css("left", ($(window).width()/2 - this.width()/2) + "px");
    return this;
}

按照描述使用。

  

$( “模态窗口”。)中心();

答案 3 :(得分:1)

假设您正在使用jQuery UI对话框,the default position is 'center'默认情况下将其居中在视口中。如果您使用的是另一个jQuery模式窗口,那么:

$(id).css({
    'position': 'fixed',
    'top': parseInt((winH / 2) - ($(id).height() / 2), 10)
    'left': parseInt((winW / 2) - ($(id).width() / 2), 10)
});

可能会成功。我不确定你的意思是“向下滚动”作为模态对话框并且滚动(在对话框外)是相互排斥的。