Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Как при клике использовать предыдущее значения переменной внутри функции (https://javascript.ru/forum/jquery/53275-kak-pri-klike-ispolzovat-predydushhee-znacheniya-peremennojj-vnutri-funkcii.html)

akagloomy 27.01.2015 23:32

Как при клике использовать предыдущее значения переменной внутри функции
 
Доброго дня!
Допустим, есть такой простой код.
По клику на элемент с классом el записываем в переменную numEl его порядковый номер среди прочих элементов с классом el.

$('.el').click(function(){		
        var $numEl = $(this).index('.el');
	// далее много различных изменений с выбранным элементом		
	});


Задача

Если я следующий раз кликаю по-любому элементу с классом el, я уже должен знать значение переменной numEl от предыдущего клика. Далее, в зависимости от этого значения, буду применять различные условия.

рони 27.01.2015 23:38

akagloomy,
обьявите переменную в строке ноль

akagloomy 27.01.2015 23:49

Проверил через консоль, всё работает!
var $numEl;
$('.el').click(function(){
   console.log($numEl);
   $numEl = $(this).index('.el');
   console.log($numEl);
   // далее много различных изменений с выбранным элементом		
});

Благодарю!

Vlasenko Fedor 28.01.2015 02:12

akagloomy, а так
$('.el').click(function(){
   console.log(this.numEl);
   this.numEl = $(this).index('.el');
   console.log(this.numEl);
   // далее много различных изменений с выбранным элементом		
});

danik.js 28.01.2015 02:25

Poznakomlus, this ссылается на DOM-элемент. Мало того, что ты без нужды гадишь в него, так это еще и не подходит - элементов .el то много.

Vlasenko Fedor 28.01.2015 02:36

Да не дочитал
Цитата:

Сообщение от akagloomy
должен знать значение переменной numEl от предыдущего клика

А вот если состояние свое хранить так в самый раз.
Но здесь это не подходит

рони 28.01.2015 02:43

:write:
забавно
$(this).index('.el') == $('.el').index(this);

Brook 29.01.2015 00:37

можно узать .data()


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