jQuery плагин, встряхнуть .. - PullRequest
0 голосов
/ 25 декабря 2011

у меня есть этот код: http://jsfiddle.net/Ym4NP/2/ почему div 'content' не перемещается вверх, только вниз? и как я могу отправить $this (селектор) в функцию обратного вызова?

1 Ответ

1 голос
/ 25 декабря 2011

Я бы просто использовал jQuery UI для этого эффекта.

См. Эту скрипку:

http://jsfiddle.net/kEKtw/2/

С этим кодом

$(document).ready(function() {
    $('#main').effect("shake", {direction:'up', times:10}, 0);
});

Примечания:

  • Я изменилcss для суммирования чисел или код пользовательского интерфейса будут иметь проблемы.
  • Если вы посмотрите, как jQUI реализует Shake, вы увидите, что стек «эффектов» реализован в виде массива, как я предлагаю ниже.

Позиция причины должна быть массивом:

Что вы действительно хотите сделать, так это настроить последовательность:

  • двигаться вверх случайным образомсумма
  • ожидание установленного времени
  • перемещение назад к центру
  • ожидание установленного времени
  • перемещение вниз случайной величины

Однако с использованиемПозиции в качестве объекта не дают упорядочения и не позволяют повторять команды (поскольку когда-либо команда является именем свойства объекта, которое должно быть уникальным.)

Если бы это был массив, вы могли бы настроить что-то подобноеперейти в плагин:

 positions: [
        'U': -300,
        'W' : 1000,
        'C' : 0,
        'W' : 1000,
        'D': 300
    ],

Старый ответ

Код сложный, бНо ваша проблема проста.

При каждом «движении» во встряске вы меняете относительное положение вершины или низа на новое число от 1 до 300. Это означает, что предмет будет перемещаться между 1 и 300 + размер объекта.Я считаю, что вы хотите сделать это от -300 до +300.Для этого вам нужно изменить команду U, чтобы установить значение от -300 до 0, а не от 0 до 300

В логике есть другая ошибка - она ​​не сбрасывает окно в центр.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...