Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 垂直居中一页上的div_Javascript_Jquery - Fatal编程技术网

Javascript 垂直居中一页上的div

Javascript 垂直居中一页上的div,javascript,jquery,Javascript,Jquery,我有个问题。我要将垂直中心上的div与浏览器视口对齐。我了解如何做到这一点,并且自己编写了一些代码。但有一件事是行不通的: // fetch al info I need var windowHeight = $(window).height(); var pageTop = $(window).scrollTop(); var modalHeight = "98"; // Get the centre of the window var divTop = (windowHeight -

我有个问题。我要将垂直中心上的div与浏览器视口对齐。我了解如何做到这一点,并且自己编写了一些代码。但有一件事是行不通的:

// fetch al info I need
var windowHeight = $(window).height();
var pageTop = $(window).scrollTop();
var modalHeight = "98";

// Get the centre of the window   
var divTop = (windowHeight - modalHeight) / 2;
// Add the scrollTop so the div will align in the middle of my current browser viewport    
var divTop = divTop + pageTop;
var divTop = divTop + "px";
$('#modal_placeholder').css('top',divTop);
现在,问题是它无法获得正确的scrollTop值。。。它总是说它是0,就像你现在在页面的顶部一样


你能帮我个忙吗?

你可以使用表格元素:

你可以使用表格元素:

$(窗口)。scrollTop()
返回你在页面下滚动的距离。当您在页面(任何页面)的不同位置时,请尝试在地址栏中键入此内容

编辑:看来你已经知道了。问题是变量没有被更新。加载页面时,
$(window).scrollTop()
的值为0。若要更新该值,请尝试绑定事件以更新该值。

$(窗口)。scrollTop()
返回页面向下滚动的距离。当您在页面(任何页面)的不同位置时,请尝试在地址栏中键入此内容


编辑:看来你已经知道了。问题是变量没有被更新。加载页面时,
$(window).scrollTop()
的值为0。要更新该值,请尝试绑定一个事件以更新该值。

如果要这样做,可以这样做:

var d = $(your_div),
    div_height = d.height();

d.css({
  position: 'absolute',
  top: '50%',
  margin: '-' + (div_height / 2) + 'px 0 0 0'
})

如果你想这样做,你可以这样做:

var d = $(your_div),
    div_height = d.height();

d.css({
  position: 'absolute',
  top: '50%',
  margin: '-' + (div_height / 2) + 'px 0 0 0'
})

你能把这个方法的一个或演示放在一起并链接到它吗?你能把这个方法的一个或演示放在一起并链接到它吗?当然!这就是问题所在。。。它在pageload上保存了我的scrollTop值(此时为0)。我现在已经绑定到点击按钮,它的工作!谢谢你,伙计!当然!这就是问题所在。。。它在pageload上保存了我的scrollTop值(此时为0)。我现在已经绑定到点击按钮,它的工作!谢谢你,伙计!