Javascript window定位
Javascript window positioning
我有这个 javascript 社交储物柜,它可以在 window 中运行,但在不同屏幕(如移动设备等)上测试它时遇到问题,因为 window改变位置。到目前为止,我知道这部分代码会影响定位,但我不知道如何。
这是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 window:
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 window 代码的行为方式以及如何让它在所有设备上正常工作?
我已经阅读了很多类似的问题,但没有找到我的答案,因为代码完全不同,这也不是弹出窗口 window 而且我不是 javascript 专家,说实话。
You can see the live version here
谢谢!
您可以使用以下 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%);
}
请记住,您必须删除 margin-top:-10%
以及 disable/remove 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);
我有这个 javascript 社交储物柜,它可以在 window 中运行,但在不同屏幕(如移动设备等)上测试它时遇到问题,因为 window改变位置。到目前为止,我知道这部分代码会影响定位,但我不知道如何。
这是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 window:
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 window 代码的行为方式以及如何让它在所有设备上正常工作?
我已经阅读了很多类似的问题,但没有找到我的答案,因为代码完全不同,这也不是弹出窗口 window 而且我不是 javascript 专家,说实话。 You can see the live version here
谢谢!
您可以使用以下 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%);
}
请记住,您必须删除 margin-top:-10%
以及 disable/remove 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);