当我提交表单时,表单“滑出”并使用$.get()
,我加载另一页并将其滑入。在隐藏表单和显示下一页之间,div崩溃我的所有页脚内容都会短暂地结束表单所在的位置。
然后,当“下一页”完成加载时,页脚返回到底部(在新页面内容下)。 因为表单的大小可能会有很大变化,我试图避免为DIV指定高度。
有没有办法防止div改变?
代码:
$("#MyForm").hide("slide", { direction: "left" }, 250, function () {
$.get("../NewPage.html", function (data) {
$("#NewPagePlaceholder").html(data);
$("#NewPagePlaceholder").show("slide", { direction: "right" }, 250);
});
});
答案 0 :(得分:9)
你在使用CSS吗?我会做一个假设(我知道但是我看不到任何代码),你使用display:none;
来隐藏div,而应该尝试使用visibility:hidden
。如果你正在使用JQuery,你可以在选择器中添加一个css()方法,并将可见性设置为隐藏。
答案 1 :(得分:6)
@ user1394965说的是什么。这是一个简单的例子:
.hide()
将使对象的css属性为display: none
,这将删除页面上占用的空间。 visibility: hidden
属性会使其隐藏,但仍保留页面上的空间。
所以,而不是做:
$('#elementId').hide();
执行以下操作:
$('#elementId').css('visibility', 'hidden');
答案 2 :(得分:2)
上面的其他选项可能更好,您可以选择根据子div设置hieght,但很难知道这是一个好主意,而不会看到任何代码。
例如(未经测试):
var height = $('#childdiv').height();
$('#childdiv').parent().css('height', height);
答案 3 :(得分:0)
仅在动画期间指定div的高度。也就是说,在滑出旧表单之前,将div更改为相同的高度。在新表单滑入后,删除此设置高度。