使用.animate()的jQuery无法在IE8中执行任何操作

时间:2010-03-26 23:13:45

标签: jquery internet-explorer internet-explorer-8 jquery-animate

所以,这是正式的:我讨厌Internet Explorer。是的,它的所有血腥版本。 :-D

所以,我不认为我在做这里复杂的事情,但显然我是。我在导航菜单中设置了无序列表中的一堆列表项,在Firefox,Chrome,Safari和Opera中,工作正常。应该发生的是当你悬停一个导航项时,它应该为一些增长动画并为背景颜色变化设置动画。

Internet Explorer 7/8中没有任何操作。

我认为它只是与animate函数绑定,因为如果我将.anss与.css交换,它就可以工作。

http://project-cypher.net/wtf/(*网址已删除 - 问题已解决)

想法?

3 个答案:

答案 0 :(得分:3)

使用backgroundColorpaddingToppaddingBottom稍微更改动画属性,这应该有效:

$('ul.navigation li a').css('padding','0px 12px');
$('ul.navigation li a').hover(function() {
  $(this).stop().animate({
      backgroundColor : '#336699',
      'padding-top': 6,
      'padding-bottom': 6
    }, 150 );
}, function() {
  $(this).stop().animate({
      backgroundColor: '#660000',
      paddingTop: 0,
      paddingBottom: 0
    }, 150 );
});

这个CSS:

ul.navigation li a {
    padding: 6px 12px;
    color: #fff;
    text-decoration: none;
    background: #600;
}

答案 1 :(得分:1)

前几天我自己遇到了这个问题。我无法弄清楚为什么IE没有正确地为对象设置动画。

答案很简单:使用jQuery UI

jQuery UI包含一个改进的颜色插件,实际上可以工作

查看jQuery UI中的其他整洁的东西 - 按钮,对话框,进度条,标签等。

答案 2 :(得分:0)

如果我将'padding':'6px 12px'更改为'padding':'12px',它似乎可以正常工作。你可以尝试这个并报告它是否在你的方面不起作用?

它并不完美,但它可以做些什么,让你更接近修复它。

编辑:Dang,不知道为什么不呢。在这里工作。 IE8。 IDK,也许你已经得到了另一个答案的解决方案。