jQuery淡出留下了很小的间隙
我使用当前的jQuery隐藏淡出通知div,然后将其删除,但是当它完成时,jQuery淡出留下了很小的间隙,jquery,Jquery,我使用当前的jQuery隐藏淡出通知div,然后将其删除,但是当它完成时,的高度周围有一个奇怪的间隙,这意味着后续表单和页面元素不会显示在通知出现之前的位置 总而言之:淡出和移除效果很好,但我希望留下的间隙也能消失。这是一件小事,但它困扰着我 jquery: // Fade out any success divs. $(".success").fadeOut(6000, function(){ $(".success").remove(); }); 通知div由PHP在回发时编写,具
的高度周围有一个奇怪的间隙,这意味着后续表单和页面元素不会显示在通知出现之前的位置
总而言之:淡出和移除效果很好,但我希望留下的间隙也能消失。这是一件小事,但它困扰着我
jquery:
// Fade out any success divs.
$(".success").fadeOut(6000, function(){
$(".success").remove();
});
通知div由PHP在回发时编写,具有以下CSS:
.success {
background-color: #b3ffb2;
border: 1px solid green;
}
.box {
margin: 5px;
padding: 5px;
}
div非常简单:
<div class="success box"><p><strong>Success!</strong><br />Done!</p></div>
成功
完成
编辑:页面周围的标记如下所示:
<div id="wrapper">
<div id="navigation">
<ul> ... </ul>
</div>
<div id="container">
<div class="success box">
<p><strong>Sucess!</strong><br />
Done</p>
</div>
// more content
</div>
</div>
成功
完成
//更多内容
编辑:在FF 3.5.2中使用Firebug,我在使用inspector时看不到任何遗漏。只是有一个奇怪的差距。我还创建了这种现象的屏幕截图:
在没有实际看到它的情况下,我假设它是
#container
或//更多内容的产物$.remove()
从DOM中删除元素并强制重画,因此假设它正常工作(语法看起来很好),这肯定不是.success的结果。尝试隐藏()而不是删除?我解决了这个问题,我注意到在淡出后仍然存在一个
标记隐藏
因此,为了隐藏div之后的第一个元素,我将jquery更改为:
$(".success").fadeOut(6000, function(){
$(".success + br").remove();
});
它将删除dom中选择器后面的下一项。从。中,在添加之前(大概是之后)周围的标记是什么?感谢您的关注!这是否有点澄清?这是在所有浏览器中发生的,还是仅在特定的浏览器(ie)中发生的?Safari 4(Mac)、IE8和Chrome(Win)都显示相同的问题。因此,当页面加载没有成功消息时,您不会看到这个问题?嗯,至少我有一些想法和想法,可以从这里开始。当我自己解决这个问题时,是你的评论帮助我解决了这个问题。非常感谢。