Управление скоростью анимации по продолжительности нажатия клавиши в jQuery?

пл. проверьте это http://jsfiddle.net/sKeNP/

Я пытаюсь сделать простой горизонтальный слайдер со следующими свойствами:

  1. Он должен показывать 3 элемента одновременно.
  2. Он должен иметь клавиатурную навигацию.
  3. Точки, соответствующие трем текущим слайдам, должны быть БОЛЬШИМИ.
  4. При скольжении слайды должны двигаться по одному, а не по 3 за раз.
  5. Он должен перемещать несколько слайдов, если правая или левая клавиша нажата в течение длительного времени.

Я смог всего этого добиться.

Единственная проблема заключается в том, что при длительном нажатии левой или правой клавиши скользящая анимация недостаточно плавная/быстрая. Может ли кто-нибудь помочь мне динамически изменить скорость анимации для длительного нажатия клавиши. Точно так же скорость анимации должна увеличиваться для нескольких (скажем, 5 или 6) событий нажатия клавиш (для левой и правой клавиш) в быстрой последовательности.


person user964678    schedule 28.11.2011    source источник


Ответы (1)


Простой способ сделать это — просто увеличивать скорость анимации каждый раз, когда вы получаете сообщение о нажатии клавиши, и сбрасывать ее всякий раз, когда вы получаете нажатие клавиши. См. мою поправку здесь: http://jsfiddle.net/sKeNP/1/.

Однако у вас есть еще одна потенциальная проблема, заключающаяся в том, что ваши числа и полоса прокрутки не синхронизированы. Когда пользователь прокручивает до конца полосы прокрутки с помощью клавиш со стрелками, анимация все еще происходит. Однако, возможно, это задумано.

person Godwin    schedule 28.11.2011
comment
Спасибо, Годвин... ваше решение работает частично... но анимация все еще не то, что я хотел... как вы указали, анимация не синхронизирована с полосой прокрутки... это может быть частью проблемы. Я хочу яблоко - как плавное горизонтальное скольжение, которое: 1. Набирает скорость в зависимости от того, как быстро пользователь проводит несколько раз в быстрой последовательности :: нажимая «›» и «‹» или нажимая клавиши курсора несколько раз в быстрой последовательности. 2. Обеспечивает синхронное чередование направлений анимации. Я очень новичок в jQ (начал 3 дня назад), и поэтому мне нужна помощь. - person user964678; 29.11.2011
comment
Я не очень хорошо знаком с продуктами Apple, но мне кажется, что вы хотите в основном иметь div с полосой прокрутки, но вместо этого иметь свою собственную полосу прокрутки. В этом случае, вероятно, имеет смысл использовать что-то, что уже было сделано и протестировано, например, одно из этих: net-kit.com/jquery-custom-scrollbar-plugins. Вы сможете стилизовать любую часть полосы прокрутки по своему усмотрению. - person Godwin; 29.11.2011