jquery animate 在 chrome 中不起作用

发布于 2024-12-05 02:18:34 字数 584 浏览 0 评论 0原文

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

my jquery animation code is working fine in IE and firefox, but it doesnt work in Chrome and safari. any suggestions?

this is my animation code for 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 */
});

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

魂ガ小子 2024-12-12 02:18:34

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

if I remember well jQuery computes well without 'px' when animating or applying css for easier manipulation, and it is more logical because animating is calculation with numbers, not strings. Then isn't it a problem of css property ? Have you tried to set at least a 'position':'relative' or 'display':'block' or 'display':'inline-block' to the element you are animating. Because css needs that type of display for applying margin properties. Try animate 'left' instead of 'margin-left' for example, if it works, it comes from a needed css property for applying margin.

泅人 2024-12-12 02:18:34

使用 left 而不是 marginLeft

Use left instead of marginLeft.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文