我在mcgillidssa.com上有以下jquery来为下拉菜单设置动画:
$(document).ready(function() {
$("#navigation ul li").hover(function() {
$(this).addClass("over");
$(this).find("ul").slideDown('fast').show();
$(this).hover(function() {
}, function(){
$(this).removeClass("over");
$(this).find("ul").slideUp('fast');
});
});
});
当调用.hover操作时,代码应该显示“ul li ul”。这在Firefox,Safari,Chrome和IE8中运行得非常好,但未能在IE7中出现。我认为问题是z索引问题但事实并非如此。这是CSS的参考:
http://www.mcgillidssa.com/wp-content/themes/midssa/style.css
有关如何解决这个问题的想法吗?
答案 0 :(得分:1)
修复程序看起来像
$("ul").slideDown(function(){
$(this).css('display', 'inline-block')
});
IE7不喜欢display:block
答案 1 :(得分:0)
不确定IE是否误解了这个......但这有助于澄清您的代码。将$(this)设置为var。
var lItem = $(this); //list item
替换lItem为$(this),其中$(this)为#navigation ul li
。
相关地,是否可能是该悬停事件中的第二个悬停事件?