Показать сообщение отдельно
  #1 (permalink)  
Старый 25.05.2015, 15:41
Аспирант
Отправить личное сообщение для Nifler Посмотреть профиль Найти все сообщения от Nifler
 
Регистрация: 29.09.2013
Сообщений: 37

Поочередность анимаций
Написал я небольшой код, который при перелистовании слайда выталкивает слева слова и подсвечивает соответствующий пункт меню.
вот как работает http://poli.molodost-dolgoletie.com
но проблема следующая: оно не всегда равномерно выталкивает слова. То по одному, то по два.. магия не иначе. как задать поочередность анимации для разных элементов, чтобы след анимация начиналась когда окончится предыдущая.

вот код
(function($,andefined){	
	$(document).ready(function(){
		$("#mitka").css("margin-left","0");
		function newSlide(){
			for (var i=1; i<10; i++){
				var margin=$("#mitka").css("margin-left");
				if($(".slides>li:nth-child("+i+")").css("display")=="list-item"){
					if(i+"px"!=margin){
						$("#mitka").css("margin-left",i);
						$('.slides>li:nth-child('+i+')>article>div>ul>li').css("margin-left","-500px");		
						var nth=i;
						var j=1;
						function leftText(){
							$('ul.slides>li:nth-child('+nth+')>article>div>ul>li:nth-child('+j+')').animate({
								'margin-left':'0px'
							},'slow');					
							if(j==12){
							  //clearInterval(timerId);	
							}
						}		
						
						timerId = setInterval(function(){leftText(); j++}, 200)			
					
						$(".li_slyde").removeClass("li_slyde");
						var nextI=i+1;
						$(".uk-navbar-nav>li:nth-child("+nextI+")").addClass("li_slyde");
					}			
				}else{
				}				
			}
		}			
		setInterval(newSlide, 200);		
	})
})(jQuery)
Ответить с цитированием