为什么动画在ie8及以下如此迟钝?

时间:2011-10-13 10:01:51

标签: jquery

嗨我已经使用jQuery动画来设置菜单项上的填充动画。代码非常简单如下:

$('.menu li a').hover(function(){
    $(this).animate({
        paddingLeft:'18px',
        paddingRight:'18px'
    }, 350);
}, function(){
    $(this).animate({
        paddingLeft:'5px',
        paddingRight:'5px'
    }, 350);
});

但由于某些原因,在IE8和7中,它确实非常滞后。任何人都有任何想法。很多javascript在这方面都很滞后,但我不知道为什么。该网站是 http://www.rnmtest.co.uk/rnm

3 个答案:

答案 0 :(得分:1)

似乎动画也与FF7一样滞后(当你进出很多时)。可能是你的某些脚本正在进行无限循环或类似的事情。检查您的代码。除了jQuery和动画脚本之外,还要测试没有任何js库。

答案 1 :(得分:1)

你问:

  

为什么ie8及以下的动画如此滞后?

你的问题的直接答案是:因为IE7 / 8的Javascript引擎是垃圾。

答案 2 :(得分:0)

悬停很贵。每当鼠标位于元素上方时,Hover就会触发一个事件。 Mouseenter(以及之后的mouseout)对你正在做的事情来说更便宜,并且只发射一次事件。

对于慢速JS引擎尤其如此。

我认为jenter可以在较新的版本中提供mouseenter事件。