Javascript 为什么';我的JS函数在onresize事件中是否启动?

Javascript 为什么';我的JS函数在onresize事件中是否启动?,javascript,html,centering,event-listener,onresize,Javascript,Html,Centering,Event Listener,Onresize,函数getCentralPosition(){ //此脚本垂直居中于您在主页视频上看到的标题// //首先将包含heading元素的父div保存到名为parentDiv的变量中。 var parentDiv=document.getElementById('home-section-1'); //现在获取此parentDiv的总高度(包括填充、边框等) var parentDivHeight=parentDiv.offsetHeight; //将包含标题的子div元素保存到名为childDiv的

函数getCentralPosition(){ //此脚本垂直居中于您在主页视频上看到的标题// //首先将包含heading元素的父div保存到名为parentDiv的变量中。 var parentDiv=document.getElementById('home-section-1'); //现在获取此parentDiv的总高度(包括填充、边框等) var parentDivHeight=parentDiv.offsetHeight; //将包含标题的子div元素保存到名为childDiv的变量中 var childDiv=document.getElementById('home-first-overlay'); //现在获取这个childDiv的总高度(包括填充、边框等) var childDivHeight=childDiv.offsetHeight; //通过减去parentDiv和childDiv的高度并存储它们,计算它们之间的高度差 //在名为heightDiff的变量中 var heightDiff=parentDivHeight-childDivHeight; //通过将heightDiff除以2,从parentDiv顶部获得所需的精确位置 var pos_from_top=高度差/2; //使用“px”将pos_from_top指定为childDiv上“top”的值 childDiv.style.top=pos_from_top+“px”; }
addEventListener(“onresize”,getCentralPosition)我相信您正在寻找

下面是更新后的代码段(它在没有正确的HTML的情况下出错,但显示了事件触发)

函数getCentralPosition(){ //此脚本垂直居中于您在主页视频上看到的标题// //首先将包含heading元素的父div保存到名为parentDiv的变量中。 var parentDiv=document.getElementById('home-section-1'); //现在获取此parentDiv的总高度(包括填充、边框等) var parentDivHeight=parentDiv.offsetHeight; //将包含标题的子div元素保存到名为childDiv的变量中 var childDiv=document.getElementById('home-first-overlay'); //现在获取这个childDiv的总高度(包括填充、边框等) var childDivHeight=childDiv.offsetHeight; //通过减去parentDiv和childDiv的高度并存储它们,计算它们之间的高度差 //在名为heightDiff的变量中 var heightDiff=parentDivHeight-childDivHeight; //通过将heightDiff除以2,从parentDiv顶部获得所需的精确位置 var pos_from_top=高度差/2; //使用“px”将pos_from_top指定为childDiv上“top”的值 childDiv.style.top=pos_from_top+“px”; }
addEventListener(“调整大小”,getCentralPosition)我使用类似的函数来调整基于动态svg图形的屏幕大小。 我只需将onresize=“function()”代码放在标记中,它就可以开箱即用。

您可能需要
window.addEventListener(“resize”,getCentralPosition)啊,是的,一个可以作为ie的后备,不附加“打开”调整大小(只是调整大小)是主要的方法。我记得约翰·达克特(John Duckett)的书中有这样一句话:——)是的,这似乎对斯科维有用,谢谢!此外,我还添加了一行“document.addEventListener(“DOMContentLoaded”,getCentralPosition);”因为它只有在我开始调整大小时才居中,而不是加载:-D无论如何,我可以将这两个EventListener合并为一个,这样它们就可以同时监听两个事件了?我不记得我以前有没有这样做过,我想起来了。。。