Javascript 垂直居中一页上的div
我有个问题。我要将垂直中心上的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 -
// 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)。我现在已经绑定到点击按钮,它的工作!谢谢你,伙计!