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