Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.01.2015, 23:32
Новичок на форуме
Отправить личное сообщение для akagloomy Посмотреть профиль Найти все сообщения от akagloomy
 
Регистрация: 27.01.2015
Сообщений: 2

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

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


Задача

Если я следующий раз кликаю по-любому элементу с классом el, я уже должен знать значение переменной numEl от предыдущего клика. Далее, в зависимости от этого значения, буду применять различные условия.
Ответить с цитированием
  #2 (permalink)  
Старый 27.01.2015, 23:38
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

akagloomy,
обьявите переменную в строке ноль
Ответить с цитированием
  #3 (permalink)  
Старый 27.01.2015, 23:49
Новичок на форуме
Отправить личное сообщение для akagloomy Посмотреть профиль Найти все сообщения от akagloomy
 
Регистрация: 27.01.2015
Сообщений: 2

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

Благодарю!

Последний раз редактировалось akagloomy, 27.01.2015 в 23:52.
Ответить с цитированием
  #4 (permalink)  
Старый 28.01.2015, 02:12
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

akagloomy, а так
$('.el').click(function(){
   console.log(this.numEl);
   this.numEl = $(this).index('.el');
   console.log(this.numEl);
   // далее много различных изменений с выбранным элементом		
});
Ответить с цитированием
  #5 (permalink)  
Старый 28.01.2015, 02:25
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Poznakomlus, this ссылается на DOM-элемент. Мало того, что ты без нужды гадишь в него, так это еще и не подходит - элементов .el то много.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #6 (permalink)  
Старый 28.01.2015, 02:36
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

Да не дочитал
Сообщение от akagloomy
должен знать значение переменной numEl от предыдущего клика
А вот если состояние свое хранить так в самый раз.
Но здесь это не подходит
Ответить с цитированием
  #7 (permalink)  
Старый 28.01.2015, 02:43
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068


забавно
$(this).index('.el') == $('.el').index(this);
Ответить с цитированием
  #8 (permalink)  
Старый 29.01.2015, 00:37
Профессор
Отправить личное сообщение для Brook Посмотреть профиль Найти все сообщения от Brook
 
Регистрация: 13.04.2012
Сообщений: 210

можно узать .data()
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
получение значения переменной из функции java script valdur2000 Общие вопросы Javascript 1 14.11.2013 20:22
Получение значения переменной внутри обработчика события jQuery Mbenga Общие вопросы Javascript 2 01.07.2013 10:57
Как подменять ФАЙЛ CSS при клике нассылку!!!! СРОЧНО ПОМОГИТЕ. pavdin Общие вопросы Javascript 4 02.12.2010 20:44
Как отменить прокрутку при клике Alekson jQuery 1 30.03.2009 20:53
как при открытии окна закрыть предыдущее Евдокимова Events/DOM/Window 3 16.09.2008 17:12