Все пашет, но хотелось бы комментов по поводу кода
function Limb(limb, start, ltop, bottom, step){
this.limb = document.querySelector(limb);
this.start = start; //Стартовое положение лапы
this.ltop = ltop; // Крайнее верхнее положение лапы
this.bottom = bottom; // Крайнее нижнее пложение лапы
this.lstep = step; // Шаг движения лапы
this.rotateLimb = function(){
this.style_limb = this.limb.style;
// Переключение флага
if(this.start <= this.ltop) this.flag = true;
if(this.start >= this.bottom) this.flag = false;
// Двигаем лапу вверх если флаг true
if(this.flag){
this.start += this.lstep;
}
// Двигаем лапу вниз если флаг false
else{
this.start -= this.lstep;
}
this.style_limb.transform = 'rotate(' + this.start + 'deg)';
}
}
// Создаем пока что 2 лапы
var limb1 = new Limb('.limb_left1', -20, -35, 17, 3);
var limb2 = new Limb('.limb_right1', 38, -15, 38, 3);
Вызов метода в нужном месте так
limb1.rotateLimb();
limb2.rotateLimb();
Можно еще сделать общий шаг лапы this.lstep, но это уже мелочи. Хотя в дальнейшем может при повороте нужно будет изменять шаг для отдельных лап