Показать сообщение отдельно
  #1 (permalink)  
Старый 06.10.2014, 16:58
Интересующийся
Отправить личное сообщение для anton41k Посмотреть профиль Найти все сообщения от anton41k
 
Регистрация: 15.08.2014
Сообщений: 16

Обработчик нескольких кнопок
Помогите пожалуйста!
Происжодит простое перемещение картинки в DIV-е с помощью клавиш вперед, назад, влево, вправо. Нужно сделать обработку такого события, например: при зажатой клавиши влево, картинка перемещается влево, не отпускаючи ее нажимаем вправо, картинка перемещается вправо(до этого места все отлично работает), отпускаем ТОЛЬКО вправо и картинка сново движется влево(подскажите как организовать эту часть).
$('body').on('keydown', function(e) {
  e = e || event;
  var img = document.images['img_name'];
  var angl = Number(img.style.transform.replace(/[^.-\d+]/g,'')); 
  pos_img = [Number(img.style.left.replace(/[^.-\d+]/g,'')), Number(img.style.top.replace(/[^.-\d+]/g,''))];
  speed=4;
  switch(e.keyCode) {
    case 37: // влево
      if(angl == 270)
            {
              img.style.left = pos_img[0] - speed + 'px';
            }
      else 
        { 
          jQuery(img).rotate({angle:270});
        }
      break;
    case 38: // вверх
      if(angl == 0)
            {
              img.style.top = pos_img[1] - speed + 'px';
            }
      else
        {
          jQuery(img).rotate({angle:0});
        }
      break;
    case 39: // вправо
      if(angl == 90)
            {
              img.style.left = pos_img[0] + speed + 'px';
            }
      else
        {
          jQuery(img).rotate({angle:90});
        }
      break;
    case 40: // вниз
      if(angl == 180)
            {
              img.style.top = pos_img[1] + speed + 'px';
            }
      else
        {
          jQuery(img).rotate({angle:180});
        }
      break;
  }//end switch
});
Ответить с цитированием