Javascript窗口定位

Javascript窗口定位,javascript,html,css,position,window,Javascript,Html,Css,Position,Window,我有一个javascript社交锁,它在窗口中工作,我在不同的屏幕上测试它时遇到了问题,比如手机等,因为窗口会改变位置。到目前为止,我知道这部分代码会影响定位,但我不知道如何影响定位 这是CSS: #gatewaydiv { max-width: 15em; height: 6em; padding: 9em; position: absolute; display:none; background-color:#0e0f0f;

我有一个javascript社交锁,它在窗口中工作,我在不同的屏幕上测试它时遇到了问题,比如手机等,因为窗口会改变位置。到目前为止,我知道这部分代码会影响定位,但我不知道如何影响定位

这是CSS:

 #gatewaydiv
    {
    max-width: 15em;
    height: 6em;
    padding: 9em;
    position: absolute;
    display:none;
    background-color:#0e0f0f;

    text-align:center;
    font-family:arial;
    font-weight:bold;
    opacity:0.9;
    margin: auto;
    margin-top: -10%;
 }
这是Javascript窗口:

function setupgateway()
{
var Left = $(window).width() /2.6;
Left = Left - $('#gatewaydiv').width() / 2;

var Top = $(window).height()/2;
Top = Top - $('#gatewaydiv').height()/6;

$('#gatewaydiv').css('top', Top+'px').css('left', Left+'px').css('display', 'inline');
如果有人能解释一下这个javascript窗口代码是如何工作的,我如何才能让它在所有设备上正常工作

我读过很多类似的问题,但没有找到答案,因为代码完全不同,这也不是一个弹出窗口,老实说,我不是javascript专家。


谢谢大家!

您可以使用下面的CSS使任何元素垂直和水平居中。例如—

#gatewaydiv{
    position:absolute;
    margin: auto;
    left: 0;
    right: 0;
    top: 50%;
    -moz-transform: translatey(-50%);
    -ms-transform: translatey(-50%);
    -o-transform: translatey(-50%);
    -webkit-transform: translatey(-50%);
    transform: translatey(-50%);
 }
请记住,您必须删除页边顶部:-10%,并禁用/删除Javascript

此外,替换该行-

$('#gatewaydiv').css('top', Top+'px').css('left', Left+'px').css('display', 'inline');
按这条线-

$('#gatewaydiv').css('display', 'inline');
也许你可以加上:

window.addEventListener('resize', setupgateway);
window.addEventListener('scroll', setupgateway);

您是否尝试使用CSS将gatewaydiv垂直和水平居中?@Xahed Kamal是的,我有:@media max width:768px{gatewaydiv{margin:auto;}但是它几乎没有任何区别。好的。大多数时候我使用CSS来垂直和水平居中一个div。给你这个答案。谢谢!这确实有帮助,但不是100%居中。我如何禁用Javascript的特定部分而不影响整体?只需禁用这一行-$'gatewaydiv'。CSS'top,Top+'px'.css'left',left+'px'.css'display',inline';…..使用//双斜杠将代码转换为注释。如果禁用这一行,您将拥有绝对居中的div很棒!非常感谢!