Javascript jquery animate在chrome中不起作用

Javascript jquery animate在chrome中不起作用,javascript,jquery,firefox,google-chrome,safari,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

我的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 */
});

如果我记得很清楚的话,jQuery在制作动画或应用css以便于操作时,在没有“px”的情况下计算得很好,而且它更符合逻辑,因为制作动画是使用数字而不是字符串进行计算。那不是css属性的问题吗?您是否尝试为正在设置动画的元素设置至少一个“位置”:“相对”或“显示”:“块”或“显示”:“内联块”。因为css需要这种类型的显示来应用边距属性。尝试使用动画“left”而不是“margin left”,例如,如果它有效,它来自于应用margin所需的css属性。

使用
left
而不是
marginLeft

我使用动画({“margin left”:“-350px”})我的代码中没有marginLeft在IE和firefox中工作正常。margin-left在firefox中不工作。没有检查其他浏览器。因为浏览器的css遵从性非常不同…更取决于它们的不同版本…并且它们在dom元素上都有不同的默认css属性。尝试使用left并告诉我们它应该需要2秒钟。我已经尝试了您提到的所有内容,但slider在chrome和safari上不起作用。好吧……所以您尝试设置“left”属性的动画,并假设元素具有“position”:“relative”属性?我很抱歉,但我从来没有得到这个问题与铬,也许你可以尝试做一个非常简单的测试分离的所有其他代码,只与元素你想要动画和动画。而且要精确测试浏览器和操作系统的版本,所以可能有人知道其中的一个问题。好的,我想我应该对我的所有代码进行注释,然后逐个取消注释。我使用的是Windows7。我的意思是也许你工作中的其他东西会造成干扰。因此,与其逐行注释,不如尝试构建另一个简单的html,其中只包含您希望设置动画的最简单元素、jQuery库和动画代码,这样更容易调试并查看它是否工作得更好,那么您是否了解使用Chrome的console.log?