Javascript 调整浏览器屏幕的大小弄乱了我的div';s偏移量
我目前正在制作一款麻将游戏。这场比赛完美无缺。一切正常,直到我决定将游戏放入div(Javascript 调整浏览器屏幕的大小弄乱了我的div';s偏移量,javascript,jquery,css,offset,Javascript,Jquery,Css,Offset,我目前正在制作一款麻将游戏。这场比赛完美无缺。一切正常,直到我决定将游戏放入div(div id=“holder”)以确保它在浏览器窗口中居中 会发生什么 第1步: 调整浏览器窗口的大小,使其与游戏大小相匹配(因此在左侧或右侧没有白色边框)。注意:在向顶部添加更多空间时,此问题也适用,但在本演示中,无法调整此问题 第二步: 点击:点击开始< /代码>,游戏将开始,然后点击任何提示按钮。你会看到一个NR出现在刚才点击的按钮上方,它向上移动,消失。这个NR的位置是正确的,应该总是出现在你点击的提示按
div id=“holder”
)以确保它在浏览器窗口中居中
会发生什么
第1步:
调整浏览器窗口的大小,使其与游戏大小相匹配(因此在左侧或右侧没有白色边框)。注意:在向顶部添加更多空间时,此问题也适用,但在本演示中,无法调整此问题
第二步:
点击:<代码>点击开始< /代码>,游戏将开始,然后点击任何提示按钮。你会看到一个NR出现在刚才点击的按钮上方,它向上移动,消失。这个NR的位置是正确的,应该总是出现在你点击的提示按钮的上方。
第三步:
现在调整浏览器窗口的大小,在游戏的左右两侧留出2厘米的空白
第4步:
现在点击另一个提示按钮。注意NR正在出现,但是不是在提示按钮的中间和上方,而是在右边2cm。
那么发生了什么呢?我猜div(div class=“score”
)的偏移量(包含nr)包括其偏移量的空白(或类似的内容)
这显然是我不想要的!但我不知道如何解决这个问题
一些代码片段:
该部门的CSS:
#holder {
width: 940px;
margin: auto auto;
}
.score {
display: none;
pointer-events: none;
position: absolute;
font-size: 1em;
text-align: center;
color:#FFF;
z-index: 1;
}
JS部分(使用jQuery):
如果需要更多的代码,请让我知道,但我认为这是足够的。希望这个问题可以解决
亲切的问候在你的位置:相对
#holder {
width: 940px;
margin: auto auto;
position: relative;
}
看看这是否解决了问题。何时计算偏移变量? 当单击提示时,应将其存储 如果在隐藏之前取偏移量,会发生什么情况
var offset=$(this.offset().hide(500);我想我已经找到了它。在我的CSS中,我有另一个div:
#s0 {
position: relative;
float: left;
height: 570px;
width: 760px;
background: #222 url('images/bg.png');
}
删除:
position:relative;
似乎可以修复它。将进行更多的测试。谢谢您的建议!如果您需要在js中进行一些维度计算,则需要在resize上进行操作。仅在此处var offset=$(this)。hide(500)。offset();
其中单击的div是这个
#s0 {
position: relative;
float: left;
height: 570px;
width: 760px;
background: #222 url('images/bg.png');
}