jquery animate无法使用chrome

时间:2011-09-18 08:47:45

标签: javascript jquery firefox google-chrome safari

我的jquery动画代码在IE和Firefox中运行良好,但它在Chrome和Safari中无效。有什么建议吗?

这是我的jquery动画代码

$('#menu ul li a').click(function (e) {

    /* On a thumbnail click */
    $('li.menuItem').removeClass('act').addClass('inact');
    $(this).parent().addClass('act');

    var pos = $(this).parent().prevAll().length; //.prevAll('.menuItem').length;
    pos = pos - 1;


    $('#slides').animate({ marginLeft: -positions[pos] + 'px' }, 450);
    /* Start the sliding animation */

    e.preventDefault();
    /* Prevent the default action of the link */
});

2 个答案:

答案 0 :(得分:3)

如果我记得jQuery在动画或应用css以便于操作时没有'px'就能很好地计算,并且它更合乎逻辑,因为动画是用数字计算的,而不是字符串。那不就是css属性的问题吗?您是否尝试至少设置一个'position':'relative'或'display':'block'或'display':'inline-block'到你动画的元素。因为css需要这种类型的显示来应用边距属性。例如,尝试使用“左”而不是“margin-left”设置动画,如果有效,则来自应用边距所需的css属性。

答案 1 :(得分:2)

使用left代替marginLeft