Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Имитация нажатия стрелки вправо (https://javascript.ru/forum/jquery/52210-imitaciya-nazhatiya-strelki-vpravo.html)

webbaster 08.12.2014 18:30

Имитация нажатия стрелки вправо
 
Всем привет.
Написал небольшую программу - слайдер. Использовал библиотеку jquery ui slider. Перемещаем бегунок - меняются картинки. Все просто.

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

Делаю фокус на бегунок- проблем нет, элемент фокус принимает.
Имитирую нажатие стрелки - затык...
Пытался использовать функцию .keydown(), но никак не могу разобраться как она работает. Понял как возвращает значение символа и т.п., а вот как эмитировать нажатие той или иной кнопки не втыкаю.

Помогите плз.

Спасибо.

рони 08.12.2014 18:38

Цитата:

Сообщение от webbaster
Имитирую нажатие стрелки - затык...
Пытался использовать функцию .keydown(),

зачем ??? меняй состояние слайдера
$( ".selector" ).slider( "option", "value", 10 );

webbaster 08.12.2014 22:07

Не, так не получится. Бегунок - это блок и перемещается абсолютно внутри контейнера позиционированием left. Если меняю left, то события не происходит, т.е. кадры не меняются.
Вот здесь все - http://3d.piter-parking.ru/
Нужно именно нажимать клаву

Aetae 08.12.2014 22:26

webbaster, нет не нужно. На клаву реагирует код. Смотришь что за функция это делает и вызываешь напрямую.
Хочешь всё равно через заницу? Ок. Гугли "jquery trigger".

рони 08.12.2014 22:33

Цитата:

Сообщение от webbaster
Не, так не получится.

получилось однако :cray:
http://learn.javascript.ru/play/9kGGkc

webbaster 08.12.2014 22:34

смотрю

webbaster 08.12.2014 22:37

Да, получилось! :dance:
Большое спасибо за помощь!

рони 08.12.2014 22:44

webbaster,
на всякий случай без опции change это не сработает


Часовой пояс GMT +3, время: 18:56.