Jquery IE8显示:无元素下推锚定标签

Jquery IE8显示:无元素下推锚定标签,jquery,html,css,internet-explorer-8,Jquery,Html,Css,Internet Explorer 8,我有一个页面,通过JQuery toggle()设置了一个隐藏着“display:none”的输入文本字段,还有一个锚定标记位于它下面一段距离处。当我使用锚定标记时,无论是通过在url中输入锚定标记,还是通过单击引用锚定标记的链接,我通常希望它将我带到锚定所在的正上方,如下所示: 然而,当我在IE8上查看它时,它看起来是这样的: 我想要的是隐藏的输入字段,还有正确的锚行为 当我从代码中删除隐藏输入时,它固定了间距,这使我认为IE将隐藏输入占用的空间考虑到屏幕上要滚动到的锚位置 这是我试图在J

我有一个页面,通过JQuery toggle()设置了一个隐藏着“display:none”的输入文本字段,还有一个锚定标记位于它下面一段距离处。当我使用锚定标记时,无论是通过在url中输入锚定标记,还是通过单击引用锚定标记的链接,我通常希望它将我带到锚定所在的正上方,如下所示:

然而,当我在IE8上查看它时,它看起来是这样的:

我想要的是隐藏的输入字段,还有正确的锚行为

当我从代码中删除隐藏输入时,它固定了间距,这使我认为IE将隐藏输入占用的空间考虑到屏幕上要滚动到的锚位置

这是我试图在JSFIDLE上重现该问题的最佳尝试,但不幸的是,我没有成功。我无法发布我看到错误的实际源代码,但我会尽力提供我能提供的任何其他信息


我在IE的任何版本中使用锚都没有任何问题。但是,我对你在Fiddle上使用的代码感到困惑,因为它没有反映你实际要求的内容

如果没有对问题的清晰简洁的描述,很难回答问题。虽然我已经根据你所能传达的信息构建了一个答案

如果要在单击A标记时切换文本字段。您可以使用以下jQuery:

$('#testhide').click(function() {
   $('#hide').toggle();
});
testhide将是一个标记id。因此:

 <a id="testhide" href="#anchor-here">click here</a>

hide是包含输入的div的名称(您可以随意调用它)。因此:


希望有帮助

这里是一个链接到编辑的小提琴


我昨天发现了我的问题所在

在IE8上,如果使用window.location.hash导航到屏幕上的特定区域,则必须确保在所有JQuery.hide()或.toggle()调用完成后进行导航。发生的事情是,我首先导航到锚标记,然后出现hide()。然后,隐藏将减少页面上的空间量,从而将整个页面向上拉


通过让页面在window.location.hash之前执行隐藏,我修复了我的问题。我不太清楚为什么Firefox或Chrome上没有出现这种间距问题。

我提供的答案有用吗?请详细说明,以便其他人能从中受益。谢谢你的回答,但在我发布问题几个小时后,我发现了我的问题所在。我可能应该提到我使用的是window.location.hash。不管怎样,如果有人好奇的话,我在下面贴了一个答案。
<div id="hide" style="height:90px">
    <input id="hidden" type="text"/>
</div>