Показать сообщение отдельно
  #1 (permalink)  
Старый 17.03.2015, 13:11
Интересующийся
Отправить личное сообщение для opus44 Посмотреть профиль Найти все сообщения от opus44
 
Регистрация: 06.11.2014
Сообщений: 16

Видимость глобальной переменной
Добрый день. Помогите пожалуйста разобраться в проблеме.
Данные в глобальной переменной $data не сохраняются.
var $data = {};
var $IntervalID ='';
var $start = $('#start');
var $pause = $('#pause');

$start.on('click', function(){
//Отбираем данные и заносим их в переменную $data
// Если объект $data пустой - заполняем его
if ($.isEmptyObject($data)){
      var $numL = $('#selectL :selected').val();       
      $.ajax({
               type: 'POST',
               url: '/ajax/getData/',        	   
               dataType: 'json',
               data: {'numL': $numL},
               success: function($data){ 
                    someFunc($data);                	   	
	           },
 	           error: function(){
    		          alert("Ошибка!");
    	        }
           });        
        } else {  //в противном случае продолжаем выполнение someFunc          
            someFunc($data);
        }
});
$pause.on('click', function(){       
    clearInterval($IntervalID);
    $IntervalID = null;
}); 
function someFunc($data){
        $IntervalID = setInterval(function(){
            var $tmp = $data.shift();    
                $en_word.text($tmp.name);
        }, 1500);

};

, по нажатию на кнопку $start получаем данные и запускается функция someFunc.
Кнопка $pause приостанавливает выполнение someFunc, а при повторном нажатии кнопки $start цикл должен продолжиться с момента остановки. На практике получается что переменная $data "обнуляется" и AJAX опять отбирает данные и все начинается с начала.

Т.е. проблема в том, что данные в переменной $data не сохраняются.
Ответить с цитированием