相对位置“零标记”在AJAX表单提交时重置。 OSX Chrome

时间:2018-10-23 03:15:48

标签: javascript html css ajax google-chrome

我有一个很奇怪的问题。

我的容器元素内部宽度为一个表格:

<div class="container">
  <form class="form pos1">
  </form>
</div>

容器具有设定的宽度,并隐藏了它的溢出。表单比容器宽,并根据其位置显示不同的内容。

.container {
  width: 500px;
  height: 500px;
  overflow: hidden;
}
.form {
  width: 2000px;
  height: 500px;
  position: relative;
}
.form.pos1 { left: 0; }
.form.pos2 { left: -100%; }
.form.pos3 { left: -200%; }
.form.pos4 { left: -300%; }

在这里变粘。在pos3,有一个按钮绑定到AJAX表单提交。无论成功还是失败,它都会间歇性地忘记它的“左位置”。因此,尝试从pos3导航到pos2(从左:-200%;到左:-100%)实际上会以pos4(-300%)结尾,就像在pos3的AJAX请求之后,它“重置”了0位置是,因此将导航到-300%,而不是-100%。

已经在Firefox和Safari中对此进行了测试,并且似乎仅适用于Chrome。任何关于为什么发生这种情况的说明都将是惊人的!预先感谢!

0 个答案:

没有答案