Отделение jQuery, не анимирующее в функции щелчка

У меня есть следующий код, я пытаюсь сделать, чтобы отделение анимировало на событии щелчка, но по некоторым причинам отделение сразу перемещается в местоположение, и оно не анимирует к указанным координатам, что я делаю неправильно здесь? код:

  $(document).ready(function() {
    $('#example1').click(function(e){
        var x = e.pageX - this.offsetLeft;
        var y = e.pageY - this.offsetTop;
        $('#example1-xy').html("X: " + x + " Y: " + y);
        var leftOfShip = x;                                              
        //var leftOfShip = document.getElementById("ship").style.left + 20;
        $("#ship").animate({left: $("#ship").css("left",leftOfShip)},5000);
    });
  });

Любой Совет помог бы!!

1
задан Doug 13 June 2010 в 23:31
поделиться

3 ответа

Вы неправильно вызываете animate .

Измените его на

$("#ship").animate({ left: leftOfShip }, 5000);
2
ответ дан 2 September 2019 в 23:47
поделиться

Проблема в вашем анимированном вызове:

$("#ship").animate({left: $("#ship").css("left",leftOfShip)},5000);

должен стать:

$("#ship").animate({left: leftOfShip}), 5000);

вы можете поиграть с некоторым кодом на http://www.jsfiddle.net/7yNM4 / в очень простом мокапе.

0
ответ дан 2 September 2019 в 23:47
поделиться

Я думаю, что функция анимации работает только с параметром "число".

Следующее:

$("#ship").animate({left: $("#ship").css("left",leftOfShip)},5000);

должно быть:

$("#ship").animate({left: "500px", 5000); 
0
ответ дан 2 September 2019 в 23:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: