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可能重复