所以我使用了一个非常基本的 jQuery .slideDown,它在 FF、Safari 和 Chrome 中运行良好。在 IE7 中根本不起作用。这是脚本:
//Top Mailing List Drop down animation
$(document).ready(function() {
$('div#top_mailing_hidden').hide();
// Expand Panel
$("input#top_mailing").focus(function(){
$("div#top_mailing_hidden").slideDown("slow");
});
// Collapse Panel
$("input#top_mailing").blur(function(){
$("div#top_mailing_hidden").slideUp("slow");
});
});
我已经研究了几个小时,发现了一个与上滑/下滑相关的错误,导致它在 IE7 中用于 postion:fixed 元素的后代时失败。此动画发生在位置:固定导航栏中,但是,我尝试使用位置:相对包装内部元素但无济于事,我在 IE 中仍然一无所获。另外,请注意 nav 元素被 jQuery 隐藏,即使在 IE7 中也可以使用该功能,但是,上/下滑动不是。
这是相关的CSS:
/* --------------Top Dropdown Mailing List------------------- */
#top_nav div#top_mailing{
float: right;
width: 351px;
padding: 0 10px 10px 5px;
background: url(images/top_mailing_bg.png) bottom center no-repeat;
position: absolute;
top: 0;
right: 0;
color: #fff;
text-shadow:0 -1px 0px #222;
}
#top_mailing #top_mailing_hidden{
font-size: .7em;
text-align: center;
position: relative;
height: 30px;
zoom: 1;
}
#top_mailing #top_mailing_hidden div{
}
#top_mailing #top_mailing_hidden a{
color: #acffc0;
font-weight: bold;
}
#top_mailing #top_mailing_visible{
height: 30px;
font-weight: bold;
font-size: .9em;
padding-top: 5px;
}