Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.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 当前屏幕位置的中心位置_Javascript - Fatal编程技术网

Javascript 当前屏幕位置的中心位置

Javascript 当前屏幕位置的中心位置,javascript,Javascript,是否有一个选项来查找实际屏幕位置的中心位置(顶部和左侧) 我的主要目标是在屏幕中央显示div,无论我在哪里滚动或单击都可以使用窗口属性在纯javascript中获取中心坐标: var x = window.innerWidth / 2; var y = window.innerHeight / 2; 请添加这些代码以在网页中添加中心div div{ 背景:红色; 位置:绝对位置; 颜色:#fff; 最高:50%; 左:50%; 填充:50px; -ms转换:translateX(-50%)t

是否有一个选项来查找实际屏幕位置的中心位置(顶部和左侧)


我的主要目标是在屏幕中央显示div,无论我在哪里滚动或单击

都可以使用
窗口
属性在纯javascript中获取中心坐标:

var x = window.innerWidth / 2;
var y = window.innerHeight / 2;

请添加这些代码以在网页中添加中心div

div{
背景:红色;
位置:绝对位置;
颜色:#fff;
最高:50%;
左:50%;
填充:50px;
-ms转换:translateX(-50%)translateY(-50%);
-webkit转换:翻译(-50%,-50%);
转换:翻译(-50%,-50%);
}

带Jquery的

jQuery.fn.center=函数(父函数){
如果(家长){
parent=this.parent();
}否则{
父=窗口;
}
这个是.css({
“位置”:“绝对”,
“顶部”:(($(父级).height()-this.outerHeight())/2)+$(父级).scrollTop()+“px”),
“左”:(($(父).width()-this.outerWidth())/2)+$(父.scrollLeft()+“px”)
});
归还这个;
}
$(“div.target:nth child(1)”).center(true);
$(“div.target:nth child(2)”).center(false)
div.container{
宽度:300px;
高度:300px;
边框:1px实心#555;
位置:相对位置;
顶部:10px;
左:10px;
}
分区目标{
宽度:50px;
高度:50px;
颜色:白色;
背景:rgba(30,30,30,7);
边界半径:10px;
文本对齐:居中;
}

1
父母 2
窗口
请将此代码放入托盘中

$(文档).ready(函数(){
$(窗口)。调整大小(函数(){
var windowWidth=window.innerWidth;
var windowHeight=window.innerHeight;
$('.className').css({
位置:'绝对',
左:窗宽/2,
顶部:窗高/2
});	
});
//调用“调整大小”以使元素居中
$(窗口).resize();
});
div{
背景:红色;
颜色:#fff;
填充:50px;
}

您可以这样写:

div {
   display: block;
   position: fixed;
   height: // Your div height
   width: // Your div width
   top: // your window height / 2;
   left: // your window width / 2;`
}
这个问题的关键是位置,如果您将其更改为“固定”,这意味着元素始终保持在当前位置(即使您已滚动)。

请参阅,以便在屏幕大小更改时调整其大小

// grab el
const myEl = document.getElementById("yourId");
// initial styles
myEl.style.position = "absolute";
myEl.style.transform = "translate(-50%, -50%)"; // to counter
let x,y;
// update screen positioning
function updateCoords() {
  x = window.innerWidth / 2;
  y = window.innerHeight / 2;
}
function onResize() {
  updateCoords();
  myEl.style.top = x;
  myEl.style.left = y;
}
onResize(); // start in the middle
// when window size changes, update the element position
window.addEventListener("resize", onResize);

您是否承诺为此使用javascript/jquery?或者CSS唯一的解决方案也是有效的吗?我会用一个问题来回答:你尝试了什么?如果你用谷歌搜索一下,你会发现很多例子。然后,您可以就特定代码寻求帮助是的,有一个选项:使用window.screen-FYI计算中心,纯css解决方案<代码>$(窗口).height()-$('div.yourelement').height())/2
您可以算出width.nope。它只给出了屏幕的大小,而不是文档中的实际位置——不是大小,而是一半(因此是中心)。使用这个来定位您想要的元素…完整代码:请,仅javascriptplease,仅javascriptplease可能重复