3

我正在使用 jQuery.animate()创建一个无限轮播。我以前用过.animate(),没有任何问题。然而,这一次,动画没有完成。

这是一个非常简单的动画,更改margin-left为不同的值。值发生了变化,对我来说它看起来好像是完整的,但是函数没有触发。

这是我的代码:

<script type="text/javascript">
  $("#scrollLeft").click(function(){
      $("#scrollContent").animate(
        {'margin-left':'-714px'},
        {queue:false, duration:500},
        function(){
            alert("finishedLeft");
      });
  });
  $("#scrollRight").click(function(){
      $("#scrollContent").animate(
        {'margin-left':'-1190px'},
        {queue:false, duration:500},
        function(){
            alert("finishedRight");
      });
  });
</script>

问题区域是页面底部的轮播。我快跑了jquery-1.7.1.min.js

我想我的主要问题是,即使事件似乎已经完成,什么可能会阻止此功能触发?

4

1 回答 1

6

注意你的语法。

http://jsfiddle.net/n1ck/HBCn5/

$("#scrollLeft").click(function() {
    $("#scrollContent").animate({
        'margin-left': '-714px', // don't close out the parameters with parentheses yet ...
        queue: false,            // continue adding the queue option (if needed)
        duration: 500            // and the duration option (if needed) and close after
    }, function() {
        alert("finishedLeft");
    });
});
$("#scrollRight").click(function() {
    $("#scrollContent").animate({
        'margin-left': '-1190px', // same as above
        queue: false,
        duration: 500
    }, function() {
        alert("finishedRight");
    });
});​    ​
于 2012-05-31T01:14:37.133 回答