【问题标题】:Animate jumps in Chrome - jqueryChrome中的动画跳跃 - jquery
【发布时间】:2012-11-19 18:14:13
【问题描述】:

我的动画在 Google Chrome 中遇到了一个小问题。

以下是我正在使用的功能:

function moveRight(){

var x=parseInt($('#position').val(),10);
if(x==-7200){x=0;}
else{x-=900;}
$('#position').val(x);
$('#slides').animate({'left': x + 'px'}, 1000 );

}


function moveLeft(){

var x=parseInt($('#position').val(),10);
if(x==0){x=-7200;}
else{x+=900;}
$('#position').val(x);
$('#slides').animate({'left': x + 'px'}, 1000 );
}

我在页面上有一个隐藏的输入,它保持左右滑动的 div 的当前位置。

大约第 3 次或第 4 次单击右键 (moveRight();) 时,您会注意到它会跳跃,然后产生动画。 (在此处查看页面:http://ghcnow.com/savings-advantage.php)它在 Firefox 中没有这样做,似乎与 Chrome 有关。

我下载了最新版本的 jquery (1.7.2)

不知道除了重写整个东西还能做什么。

【问题讨论】:

  • "我下载了最新版本的 jquery (1.7.2)" 1.8.3 是最后一个
  • 我在 Chrome 中没有看到问题。我多次单击右箭头,它每次都正常动画。为什么要将位置保留在输入字段中?您可以使用全局变量或 `$("#slides").data()'。然后,您也不必每次都解析它。 DOM 存储数据的效率不是很高。
  • 这可能是由于机器速度较慢
  • 大家好,感谢 cmets。所以我在我的另一台电脑上试了一下,它动画正确。我已经更新到 1.8.3(感谢烤)。我已经确定当您放大页面时会发生这种情况,但仍然只发生在 Chrome 中。因此,任何不以 100% 缩放查看页面的人都会遇到问题。现在问题不大,但仍然想知道是否有解决办法。
  • @jfriend00 我们的问题的答案或多或少是因为我不是一个日常程序员哈哈。自从您的帖子以来,我查看了 #slides 的 x 位置,但它是相对于窗口的。我向左或向右移动不会有问题,但我不确定我怎么知道我什么时候会在幻灯片的末尾。有什么建议吗?

标签: jquery google-chrome jquery-animate


【解决方案1】:

我有同样的问题,但通过更改解决了它

position:relative

position:absolute

不知道是不是同一个问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-19
    • 1970-01-01
    • 1970-01-01
    • 2011-03-25
    • 2011-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多