 
			
				21.06.2013, 17:17
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Аспирант 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 14.04.2013 
					
					
					
						Сообщений: 85
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
			
			 
				Последовательность выполнения функций
			 
			
		
		
		
		Здравствуйте! 
У меня есть 4 функции, они выполняются одновременно, но мне нужно сделать так чтоб они выполнялись поочерёдно.  
Подскажите пожалуйста как это мне сделать, а то я всё время чё-то на этом спотыкаюсь.
 
Вот функции:
 
function one_img(){	
	$('#img_1').fadeOut(2000, function(){
		$(this).attr('width', 100).attr('height', 62).show(1500, function(){
			$(this).effect('pulsate', 1500, function(){
				$(this).attr('width', 199).attr('height', 125);
			})
		})		
	});
	}
	function two_img(){	
	$('#img_2').fadeOut(2000, function(){
		$(this).attr('width', 100).attr('height', 62).show(1500, function(){
			$(this).effect('pulsate', 1500, function(){
				$(this).attr('width', 199).attr('height', 125);
			})
		})		
	});
	}	
	function three_img(){	
	$('#img_3').fadeOut(2000, function(){
		$(this).attr('width', 100).attr('height', 62).show(1500, function(){
			$(this).effect('pulsate', 1500, function(){
				$(this).attr('width', 199).attr('height', 125);
			})
		})		
	});
	}	
	function for_img(){	
	$('#img_4').fadeOut(2000, function(){
		$(this).attr('width', 100).attr('height', 62).show(1500, function(){
			$(this).effect('pulsate', 1500, function(){
				$(this).attr('width', 199).attr('height', 125);
			})
		})		
	});
	}	
	
	one_img();
	two_img();
	three_img();
	for_img();
Заранее большое спасибо!  
		
	
		
		
		
		
		
		
	
		
			
			
	
			
			
			
			
			
				 
			
			
			
			
			
			
				
			
			
			
		 
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				21.06.2013, 18:40
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 16.04.2012 
					
					
					
						Сообщений: 310
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		у меня опыта нет.. но callback разве не для этого? 
var callbacks = $.Callbacks();
callbacks.add(one_img );
callbacks.add(two_img );
callbacks.add(three_img );
callbacks.add(for_img );
callbacks.fire();
 
http://api.jquery.com/jQuery.Callbacks/
Но сам с колбэками не работал, может они тут нафиг и не нужны. )  
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось Faab, 21.06.2013 в 19:07.
				Причина: убрал ошибку в коде
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				21.06.2013, 19:25
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 16.04.2012 
					
					
					
						Сообщений: 310
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 нее... проверил, так тоже срабатывают все 4 функции одновременно 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				21.06.2013, 19:33
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Аспирант 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 14.04.2013 
					
					
					
						Сообщений: 85
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Да, я тоже проверил, всё равно срабатывают все 4 одновременно, сейчас смотрю документацию по кэлбэкам, попробую разобраться, может всё-таки ответ в этой стороне. 
Хотя нет, тут должен быть другой способ, посмотрю похожие темы на форуме... 
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось Алек, 21.06.2013 в 19:40.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				21.06.2013, 19:39
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 16.04.2012 
					
					
					
						Сообщений: 310
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Слушай, а что за ошибка вылазивает 
 
Метка времени: 21.06.2013 17:36:04 
Ошибка: TypeError: $(...).effect is not a function 
Источник: test.js 
Строка: в твоём коде в посте строка 4, 14, 24, 34 
 
4 ошибки... у тебя этих ошибок нет? Я из-за этой ошибки не могу протестировать ещё один вариант. 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				21.06.2013, 19:51
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 16.04.2012 
					
					
					
						Сообщений: 310
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Если закомментировать то место где у меня вылазивает ошибка (я пока стал вдаваться что за эффект ты навсил и как), то так у меня всё работает: 
function one_img(){	
	$('#img_1').fadeOut(2000, function(){
		$(this).attr('width', 100).attr('height', 62).show(1500, function(){
			$(this).effect('pulsate', 1500, function(){
				$(this).attr('width', 199).attr('height', 125);
                                 two_img();
			})
                       
		})		
	});
	}
	function two_img(){	
	$('#img_2').fadeOut(2000, function(){
		$(this).attr('width', 100).attr('height', 62).show(1500, function(){
			$(this).effect('pulsate', 1500, function(){
				$(this).attr('width', 199).attr('height', 125);
                                three_img();
			})
		     
                })		
	});
	}	
	function three_img(){	
	$('#img_3').fadeOut(2000, function(){
		$(this).attr('width', 100).attr('height', 62).show(1500, function(){
			$(this).effect('pulsate', 1500, function(){
				$(this).attr('width', 199).attr('height', 125);
                                 for_img();
			 })
                   })		
	});
	}	
	function for_img(){	
	$('#img_4').fadeOut(2000, function(){
		$(this).attr('width', 100).attr('height', 62).show(1500, function(){
			$(this).effect('pulsate', 1500, function(){
				$(this).attr('width', 199).attr('height', 125);
			})
		})		
	});
	}	
	
	one_img();
Осталось выяснить что я закомментировал и исправить ошибку, но смысл решения проблемы будет тот же думаю.
 
У меня просто плагин UI наверное не установлен, вот и ошибка вылазивает. Я поправил код, так работает?  
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось Faab, 21.06.2013 в 19:56.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				21.06.2013, 20:17
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Аспирант 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 14.04.2013 
					
					
					
						Сообщений: 85
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Да, спасибо! 
Всё отлично работает.  
А так, да если UI не установлено, ошибки вплывают.  
У  меня она полностью почти установлена, кроме виджетов, я попутно ещё корзину разрабатываю для контента, потипу как в интернет магазине. 
 
Ещё раз спасибо вам за подсказку! 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				21.06.2013, 20:47
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 16.04.2012 
					
					
					
						Сообщений: 310
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Удачи. 
Вот у меня вопрос, к спецам JS. Вот какая польза от callback?
 
Вот пример (пусть в его случае и неверное по смыслу) топстартера:
 
one_img();
two_img();
three_img();
for_img();
 
А вот аналог кода на callback:
 
var callbacks = $.Callbacks();
callbacks.add(one_img );
callbacks.add(two_img );
callbacks.add(three_img );
callbacks.add(for_img );
callbacks.fire();
 
И в чём фишка callback? Я не вижу приимущество использования callback... В каких ситуациях его используют?  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				21.06.2013, 21:48
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Студент 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 30.04.2012 
					
					
					
						Сообщений: 1,113
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 удалил 
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось vadim5june, 21.06.2013 в 21:54.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 |  
  |