Показать сообщение отдельно
  #1 (permalink)  
Старый 12.07.2014, 22:11
Профессор
Отправить личное сообщение для Bond Посмотреть профиль Найти все сообщения от Bond
 
Регистрация: 16.06.2013
Сообщений: 172

Не совсем коректная работа .animate
Всем здравствуйте.
Собственно вопрос в следующем - есть слайдер с простой сменой картинок, но с анимацией - движение картинки + увеличение - как бы эффект плавучести. Проблема в том что не корректно работает .animate - картинки движутся рывками - не могу понять в чем проблема.
Вот основной кусок кода который двигает картинки(показываю только пару эфектов для наглядности):
var cur_img = 0;//индекс текущего изображения
var hor_distance = 100;//горизонтальное расстояние, на которое перемещается картинка
var vert_distance = 100;//вертикальное расстояние, на которое перемещается картинка
var hor_zoom = 100;//горизонтальный зум, количество пикселей, на которые увеличивается картинка по горизонтали
var vert_zoom = 100;//вертикальный зум, количество пикселей, на которые увеличивается картинка по вертикали
switch(rand)
    {
       case 0: $("#slider img:eq("+cur_img+")").animate({left:"-="+hor_distance+"px",width:"+="+hor_zoom+"px"},zoom_delay); break;
        case 1: $("#slider img:eq("+cur_img+")").animate({right:"-="+hor_distance+"px",width:"+="+hor_zoom+"px"},zoom_delay); break;
        case 2: $("#slider img:eq("+cur_img+")").animate({top:"-="+vert_distance+"px",height:"+="+vert_zoom+"px"},zoom_delay); break;
        case 3: $("#slider img:eq("+cur_img+")").animate({bottom:"-="+vert_distance+"px",height:"+="+vert_zoom+"px"},zoom_delay); break;
       default: $("#slider img:eq("+cur_img+")").animate({left:"-="+hor_distance+"px",width:"+="+hor_zoom+"px"},zoom_delay); break;
    }

Полный код и как работает слайдер можно посмотреть здесь - http://1top-start.ru/slider/

Вопрос состоит в том - можно ли сделать что бы движение картинки было плавным и как это сделать.
Буду признателен за ответ.
Ответить с цитированием