Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   область видимости (https://javascript.ru/forum/jquery/22191-oblast-vidimosti.html)

kuzroman 09.10.2011 22:09

область видимости
 
подскажите в скрипте

var smallFotoArr = new Array();
	
	$.post(
		'ajax/small_foto.php',
		function(data){
			$('#ajax_foto').append(data)
			$('#ajax_foto b').each(function(n){
				smallFotoArr[n]= $(this).html()
                            //alert( smallFotoArr[2] )
			});

		}
	);

     alert( smallFotoArr[2] )


alert выводит undefined

а если alert нуть в function то выводит то что нужно.

Объясните, ведь я определяю массив перед функцией $.post значит он глобальный,
так почему же он не определяет этот массив на выходе из функции?

Kolyaj 09.10.2011 22:32

Вы уже сотый с таким вопросом. Читайте форум.

kuzroman 09.10.2011 22:37

)) ну извините))
Ладно сам разобрался, просто день тяжелый.

Забыл про время выполнения запроса. Он просто не успевал обработаться как я уже вызывал функцию, от сюда и небыло определения.

переделал, все работает.

var smallFotoArr = new Array();
		
		$.post(
			'ajax/small_foto.php',
			function(data){
				$('#ajax_foto').append(data)
				//alert( $('#ajax_foto b').length )
				$('#ajax_foto b').each(function(n){
					smallFotoArr[n]= $(this).html()
				});
				smallFoto()

			}
		);
	
	function smallFoto(){
		alert( smallFotoArr[2] )
	}

kuzroman 09.10.2011 22:38

Цитата:

Сообщение от kuzroman (Сообщение 130521)
)) ну извините))
Ладно сам разобрался, просто день тяжелый.

Забыл про время выполнения запроса. Он просто не успевал обработаться как я уже вызывал функцию, от сюда и небыло определения.

переделал, все работает.

var smallFotoArr = new Array();
		
		$.post(
			'ajax/small_foto.php',
			function(data){
				$('#ajax_foto').append(data)
				//alert( $('#ajax_foto b').length )
				$('#ajax_foto b').each(function(n){
					smallFotoArr[n]= $(this).html()
				});
				smallFoto()

			}
		);
	
	function smallFoto(){
		alert( smallFotoArr[2] )
	}

хотя могли бы конечно намекнуть про время и все такое))

Kolyaj 09.10.2011 22:40

Цитата:

Сообщение от kuzroman
хотя могли бы конечно намекнуть про время и все такое))

Первым десяткам рассказывали, ещё нескольким десяткам намекали, вы поздно пришли.

melky 09.10.2011 23:17

Kolyaj, надо бы сунуть в FAQ и начать кидаться ссылками.


Часовой пояс GMT +3, время: 01:51.